CentOS6.10 64bit
Perl 5.24.4
mod_perl 2.0.10
上記環境でコンパイルしようとすると以下のようなエラーが出て
mod_perlのコンパイルが通りません。
/usr/bin/ld: /usr/local/perl-5.24.4/lib/5.24.4/x86_64-linux-thread-multi/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_opargs' can not be used when making a shared object; recompile with -fPIC /usr/local/perl-5.24.4/lib/5.24.4/x86_64-linux-thread-multi/CORE/libperl.a: could not read symbols: Bad value海外のフォーラムで解決方法を探ると…
どうやらCentOSの64bitを利用時に、perlのコンパイルオプションが必要のようです。昔、Perl 5.16でも同様のエラーがあったんですが、5.24でも変わらずでしたので修正方法を紹介。wget "https://www.cpan.org/src/5.0/perl-5.24.4.tar.gz" tar zxvf perl-5.24.4.tar.gz cd perl-5.24.4 ./Configure -Dprefix=/usr/local/perl-5.24.4 -Accflags='-fPIC' -Dloclibpth="/usr/lib64" -Dusethreads -de make make test make installPREFIXは /usr/local/perl-5.24.4 にしているので、こちらは適宜変更。
これで、mod_perlを導入。
apacheもコンパイルで導入しているので、apxsの位置が違います。wget "http://ftp.jaist.ac.jp/pub/apache/perl/mod_perl-2.0.11.tar.gz" tar zxvf ./mod_perl-2.0.11.tar.gz cd ./mod_perl-2.0.11 /usr/local/perl-5.24.4/bin/perl ./Makefile.PL USE_APXS=1 WITH_APXS=/usr/local/apache/bin/apxs EVERYTHING=1 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/ | | | +--------------------------------------------------------------+無事に導入できました。