end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

amazon linux + perl-5.26.1 + apache-2.4.29 の環境へ mod_perl-2.0.10 の make でerror

install apache 2.4.27 & mod_perl 2.0.10 ...なぜなら、Apache httpd 2.2.34 Released End-of-Life 2017-07-11 - end0tknr's kipple - 新web写経開発

先日の↑こちらは perl-5.18.4 + apache-2.4.29 の環境に対しての installでしたが、 今回、amazon linux ? , perl-5.26.1 ? の影響?で、mod_perl-2.0.10 の make が失敗。

「-fPIC」オプションを付け、perlを再buildする必要があるらしい。(以下、詳細)

mod_perl make時のerror内容

[mod_perl-2.0.10]$ make
   :
/usr/bin/ld: /data/xing/local/perl/lib/5.24.3/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
/data/xing/local/perl/lib/5.24.3/x86_64-linux-thread-multi/CORE/libperl.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[1]: *** [mod_perl.so] Error 1

perlの再make

$ tar -xvf ~/tmp/perl-5.26.1.tar.gz 
$ cd perl-5.26.1
$ ./Configure -Dusethreads -de -Accflags='-fPIC'
$ make
$ make test
# make install

mod_perlの再make

$ tar -xvf ~/tmp/mod_perl-2.0.10.tar.gz
$ /data/xing/local/perl/bin/perl Makefile.PL MP_APXS=/data/xing/local/httpd/bin/apxs
$ make
$ make test
$ make install