CentOS6 64bit
Perl 5.16.1
mod_perl 2.0.7
上記環境でコンパイルしようとすると以下のようなエラーが出て
mod_perlのコンパイルが通りません。
libperl.a(op.o): relocation R_X86_64_32S against `PL_sv_yes' can not be used when making a shared object; recompile with -fPIC libperl.a: could not read symbols: Bad value
海外のフォーラムで解決方法を探ると…
どうやらCentOSの64bitを利用時に、perlのコンパイルオプションが必要のようです。
今回たまたまperl 5.16系を利用する必要があったので、以下のようにして導入しました。
wget "http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz" tar zxvf perl-5.16.1.tar.gz cd perl-5.16.1 ./Configure -des -Dprefix=/usr/local/perl-5.16.1 -de -Accflags='-fPIC' -Dloclibpth="/usr/lib64" make make test make install
これで、mod_perlを導入。
以下ではapacheもコンパイル導入しているので、apxsの位置が違います。
wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz tar zxvf mod_perl-2.0-current.tar.gz cd mod_perl-2.0.7 /usr/local/bin/perl Makefile.PL MP_APXS=/usr/local/apache/bin/apxs make make install
こんな感じです。
+--------------------------------------------------------------+ | | | For details on getting started with mod_perl 2, see: | | | | http://perl.apache.org/docs/2.0/user/intro/start_fast.html | | | | | | Found a bug? File a bug report: | | | | http://perl.apache.org/bugs/ | | | +--------------------------------------------------------------+
無事に導入できました。