新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mvg.biglobe.ne.jp>
Subject: Re: perlライブラリの位置(@INC)
Date: 1999/04/15 22:32:01
Reference: mesh.forum.3/00925

4月15日に、蓮さんは書きました。

> | $ /usr/local/bin/perl -e 'print "@INC\n";'
> | /usr/local/lib/perl5/aix/5.002 /usr/local/lib/perl5 /usr/local/lib/perl5/site_perl/aix /usr/local/lib/perl5/site_perl .

おや、@INCに設定されているライブラリの位置は、ごく標準的なものですね。
しかし、実際には timelocal.pl は /usr/local/perl5/lib/timelocal.pl に
有ったのですよね? @INCには /usr/local/perl5/lib は設定されていませんから、
これでは見つけることができません。

>ちなみに、FTP Explorerでこれらの場所を見に行ったところ、
>/usr/local/lib/の下にperl5というフォルダそのものが見えません
>でした。

ふむふむ。

> | $ ls -i -1 /usr/local/bin/*perl*
> |  8671 /usr/local/bin/find2perl
> |  8685 /usr/local/bin/perl
> |  8686 /usr/local/bin/perl.org
> |  8687 /usr/local/bin/perl5
> |  8688 /usr/local/bin/perl5.002
> |  8689 /usr/local/bin/perlbug
> |  8690 /usr/local/bin/perldoc

おやおや? perlからperldocまでのinodeの番号が異なっていてかつ連続ですね。
どこか別のところから単純コピーして持ってきてしまったようですね。
本来、ハードリンクされていると思われるものも、リンクが切れちゃってますね。(^^;;

>『あるいは、which で見つかる所に、perl5 が別にインストールさ
>れているとか。』

どこかに正しい設定の perl5 があって、それを使えば解決かと思ったのですが、
どうもそういう問題ではなく、perlをサーヴァにインストールする時にライブラリの
位置を元の場所から変えてしまったために、使い物にならなくなっているようですね。

どうも、サーヴァ設定をする時の初歩的なミスが原因のようですから、本当は管理者に
perlの設定を直してもらうのが良いのですが、サポート外となると直してくれるかどうか
わかりませんね。ただ、折角ライブラリを置いているのに位置が違ってて使えないのでは
もったいないので、「@INCに設定されている値と実際のライブラリ位置が違うのじゃないか?」
とか、「コピーで持って来ちゃっているんじゃないか?」とか、その辺のところをやんわりと
指摘して修正を促すのか良いのじゃないかしら? (^^)