Crypt RC4

昨日の苦労を再考してみている。rootではなくユーザー権限or領域でインストールしなければならない。
画像をサムネイル化できる「簡易BBSα」 について を見つけたので参考にしてみる。

通常はモジュールのインストール先にあたるディレクトリの権限がrootでなければ書
き込めないためにmake installの前にrootになるのが通例というだけです。
インストール先を自分のディレクトリにすれば、rootでなくてもインストールできます。
インストール先を変更するには、
perl Makefile.PL LIB=~/lib
です。

つまり、
perl Makefile.PL LIB=~/lib
make
make test
make install
これで自分のディレクトリーにインストールできます。

インストールするディレクトリを細かく指定したければ、

 perl Makefile.PL \
 INSTALLPRIVLIB=~/lib \
 INSTALLARCHLIB=~/lib/arch \
 INSTALLSITELIB=~/site/lib \
 INSTALLSITEARCH=~/site/lib/arch \
 INSTALLMAN1DIR=~/man/1 \
 INSTALLMAN3DIR=~/man/3 \
 INSTALLBIN=~/bin \
 INSTALLSCRIPTDIR=~/bin \

で、できます。

こうしてインストールしたモジュールを使う時は、
use lib qw[/(ホームディレクトリ)/lib /(〃)/site/lib ...];
と、するか、
unshift(@INC,qw[....]);
とするか、
#!/path/to/perl -I/path/to/lib -I/path/to/site/lib ...
として、perlを-Iオプション付きで起動すれば、
あとは、普通にuseできます。

ためしに /home/userhoge/public_html/rc4ディレクトリを作成してやってみた

[userhoge@fedora ~/public_html]$ cd rc4/
[userhoge@fedora rc4]$ ls
Changes MANIFEST Makefile Makefile.PL RC4.pm test.pl
[userhoge@fedora rc4]$ perl Makefile.PL LIB=~/lib
Writing Makefile for Crypt::RC4
[userhoge@fedora rc4]$ make
cp RC4.pm blib/lib/Crypt/RC4.pm
Manifying blib/man3/Crypt::RC4.3pm
[userhoge@fedora rc4]$ make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..9
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
[userhoge@fedora rc4]$ make install
Warning: You do not have permissions to install into /usr/share/man/man3 at /usr/lib/perl5/5.8.0/ExtUtils/Install.pm line 84.
Installing /home/userhoge/lib/Crypt/RC4.pm
Installing /usr/share/man/man3/Crypt::RC4.3pm
Writing /home/userhoge/lib/i386-linux-thread-multi/auto/Crypt/RC4/.packlist
Appending installation info to /home/userhoge/lib/i386-linux-thread-multi/perllocal.pod
[userhoge@fedora rc4]$

一か所だけエラーが出た。そんなことは気にせずに、呼び出すtest.plを編集する

use lib qw(/home/userhoge/lib);
use Crypt::RC4;

perl test.pl」で問題は発生しなかったが、ブラウザで見るとエラーが出ているorz