久しぶりのWEBサーバー構築でPHPをmakeしたときに下記のエラー出ました。構築したときの条件は,以上のようにしました。

(構築条件)
OS Fedora17 X86_64 (64bit)
apache 2.2.17
mysql 5.5.10
php 5.2.5
zlib 1.2.1(エラーの原因)

(エラー内容)
/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 against `.rodata.str1.1′ can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make: *** [libphp5.la] エラー 1

エラー内容によると、「/usr/local/lib/libz.a」のファイルがmake時にエラーになっているみたいです。なので、make時は、上記のファイルを退避させてmakeするとうまく行きました。実際には下記のしました。

[root@localhost php-5.2.5]# cd /usr/local/lib
[root@localhost php-5.2.5]# mv libz.a libz.a.back
makeが完了したら元に戻す。
[root@localhost php-5.2.5]# mv libz.a.back libz.a

(参考サイト)

(ちなみに)
以前、Fedara14 X86_64 (64bit)で同じ環境を作りましたが、その時は上手く行きました。