namazu-dev(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: directory to install MMagic.pm
Satoru Takabayashi <satoru-t@xxxxxxxxxxxxxxxxxx> wrote:
>% ./configure --prefix=/tmp && make && make install
>
>のように prefix を指定しても、 MMagic.pm は prefix とは無関
>係に /usr/lib/perl5/site_perl/5.005/File といったディレクト
>リにインストールされてしまいます。
という問題について、
>具体的には configure.in の
>
> cd File-MMagic
> $PERL Makefile.PL
>
>の部分を
>
> cd File-MMagic
> if test "$prefix" != "$ac_default_prefix"; then
> FILE_MMAGIC_DIR="$prefix/share/namazu/perl5"
> $PERL Makefile.PL LIB=$FILE_MMAGIC_DIR
> ADDITIONAL_INC="$FILE_MMAGIC_DIR"
> else
> ADDITIONAL_INC="." # dummy
> $PERL Makefile.PL
> fi
> if
> AC_SUBST(ADDITIONAL_INC)
>
>として、 mknmz.pl.in の上の方で
>
> use lib "@ADDITIONAL_INC@";
>
>を追加すれば解決します。いかがでしょう?
と書きましたが、これでは解決しませんでした。
なぜなら、 $prefix はこの時点では "NONE" であり、
--prefix=/foo/bar が処理されるのはこれより後ろだからです。
よって、File::MMagic.pm は必ず $prefix/share/namazu/perl5 の
下にインストールされてしまいます。これでは、 Namazu以外の用
途に File::MMagic を使うには、別途、perl標準の場所へインストー
ルする必要があります。なんだか変です。(別にこれでもいいとい
えばいいんだけど…)
そこで、--with-pmdir=/dir オプションを導入して
* --with-pmdir=/dir が指定されていればその位置へ
File::MMagic.pm をインストール
* 指定されていなければ perl標準の位置へ File::MMagic.pm を
インストール (既にインストールされているなら何もしない)
という動作にすれば root 権限を持っていない人でも
% ./configure --prefix=$HOME --with-pmdir=$HOME/lib
のように指定することで、きちんとインストールできます
(--with-pmdirを指定するのは少し面倒だけど)。いかがでしょう?
-- Satoru Takabayashi