Я пытаюсь собрать PHP со следующей конфигурацией сборки:
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/include/libxml2/libxml --enable-xml --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2=/usr/bin/bzip2 --enable-maintainer-zts
и тогда беги make
, В какой-то момент в процессе сборки я получаю:
/usr/bin/ld: /usr/local/lib/libbz2.a(bzlib.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libbz2.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [libphp5.la] Error 1
Некоторая информация о моей системе:
[root@localhost php-5.4.41]# rpm -qa|grep libxml
libxml2-devel-2.7.6-17.el6_6.1.x86_64
libxml2-2.7.6-17.el6_6.1.x86_64
[root@localhost php-5.4.41]# rpm -qa|grep libtool
libtool-ltdl-devel-2.2.6-15.5.el6.x86_64
libtool-ltdl-2.2.6-15.5.el6.x86_64
libtool-2.2.6-15.5.el6.x86_64
[root@localhost php-5.4.41]# rpm -qa|grep bzip
bzip2-1.0.5-7.el6_0.x86_64
bzip2-libs-1.0.5-7.el6_0.x86_64
Может кто-нибудь мне помочь?
Это похоже на попытку снова скомпилировать не 64-битную библиотеку. /usr/local/lib/libbz2.a
не похоже на правильное расположение для libbz2 (обычно системные библиотеки устанавливаются в / usr / lib). Как это было установлено?
Других решений пока нет …