Francoise Koenig-Jost
2011-09-21 11:59:52 UTC
Hi,
I'm installing PHP 5.3.6 with Apache HTTP 2.2.21 on a 64-bit centos
platform (Linux 2.6.18-194.el5)
to use with the Horde 4 platform (webmail).
The system version of libxml is 2.6.26 , it is installed under
/usr/lib64 (and /usr/lib), but Horde
needs a 2.7 release of libxml, so I installed release 2.7.8 under
/usr/local/lib (with includes
under /usr/local/includes/libxml2) but libphp5.so gets compiled with the
includes from
/usr/local/includes/libxml2 and linked with /usr/lib64/libxml2.so and I
don't know how to
convince ld to use the right library. I don't have any error message
from configure or make but
httpd does not start with the following message:
---------------------------------------------------------
Cannot load /www/httpd/modules/libphp5.so into server:
/www/httpd/modules/libphp5.so: undefined symbol: xmlTextReaderSetup
---------------------------------------------------------
I checked that xmlTextReaderSetup is defined in the includes for release
2.7 of libxml but not 2.6
Here is how I run configure:
------------------------------------------------------------
./configure --prefix=/www/php-5.3.6
--with-apxs2=/www/httpd-2.2.21/bin/apxs \
--with-openssl --with-ldap \
--with-mysql \
--enable-ftp \
--with-libxml-dir=/usr/local/lib \
--with-libdir=lib64 \
--with-zlib \
--with-imap --with-mcrypt --with-kerberos --with-imap-ssl \
--with-gd \
--with-gettext --with-config-file-path=/www/php-5.3.6 \
--with-oci8=instantclient,/www/oracle --with-iconv
--enable-mbstring=all --enable-mbregex
-------------------------------------------------------------
(if I remove "--with-libdir=lib64" , I get a make error for
libmysqlclient which tries to use
/usr/lib/mysql/libmysqlclient.so.15)
Here is the output of lld for libphp5.so :
-------------------------------------------------------------
ldd libs/libphp5.so
linux-vdso.so.1 => (0x00007fffd0948000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002acff2a22000)
libc-client.so.1 => /usr/lib64/libc-client.so.1
(0x00002acff2c5b000)
librt.so.1 => /lib64/librt.so.1 (0x00002acff2f2f000)
libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15
(0x00002acff3138000)
libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00002acff34aa000)
libltdl.so.3 => /usr/lib64/libltdl.so.3 (0x00002acff36db000)
libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0
(0x00002acff38e2000)
liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0
(0x00002acff3b1d000)
libpam.so.0 => /lib64/libpam.so.0 (0x00002acff3d2b000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00002acff3f36000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002acff415b000)
libm.so.6 => /lib64/libm.so.6 (0x00002acff436f000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002acff45f2000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002acff47f7000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2
(0x00002acff4a0f000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002acff4c3d000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3
(0x00002acff4ed3000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002acff50f8000)
libssl.so.6 => /lib64/libssl.so.6 (0x00002acff52fa000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002acff5547000)
libclntsh.so.10.1 => /www/oracle/libclntsh.so.10.1
(0x00002acff5898000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002acff6caa000)
libc.so.6 => /lib64/libc.so.6 (0x00002acff6fe8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002acff7340000)
/lib64/ld-linux-x86-64.so.2 (0x000000310a200000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002acff755c000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002acff7771000)
libaudit.so.0 => /lib64/libaudit.so.0 (0x00002acff798a000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0
(0x00002acff7ba3000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002acff7dab000)
libnnz10.so => /www/oracle/libnnz10.so (0x00002acff7fae000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00002acff844f000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00002acff8668000)
------------------------------------------------------------------------------------
Here are the lines of Makefile concerning paths :
-------------------------------------------------------------
EXTRA_LDFLAGS = -avoid-version -module -L/usr/local/lib
-L/usr/kerberos/lib64 -L/usr/lib64/mysql -L/www/oracle
EXTRA_LDFLAGS_PROGRAM = -L/usr/local/lib -L/usr/kerberos/lib64
-L/usr/lib64/mysql -L/www/oracle
EXTRA_LIBS = -lcrypt -lc-client -lcrypt -lrt -lmysqlclient -lmcrypt
-lltdl -lldap -llber -lcrypt -lpam -lpng -lz -lz -lrt -lm -ldl -lnsl
-lxml2 -lz -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto
-ldl -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lgssapi_krb5 -lkrb5
-lk5crypto -lcom_err -lssl -lcrypto -ldl -lz -lclntsh -lxml2 -lz -lm
-lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt
ZEND_EXTRA_LIBS =
INCLUDES = -I/www/php-5.3.6-src/ext/date/lib
-I/www/php-5.3.6-src/ext/ereg/regex -I/usr/local/include/libxml2
-I/usr/kerberos/include -I/usr/include/imap
-I/www/php-5.3.6-src/ext/mbstring/oniguruma
-I/www/php-5.3.6-src/ext/mbstring/libmbfl
-I/www/php-5.3.6-src/ext/mbstring/libmbfl/mbfl -I/usr/include/mysql
-I/www/oracle/sdk/include -I/www/php-5.3.6-src/ext/sqlite3/libsqlite
-I$(top_builddir)/TSRM -I$(top_builddir)/Zend
EXTRA_INCLUDES =
INCLUDE_PATH = .:/www/php-5.3.6/lib/php
INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/modules'
&& $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/conf' &&
/www/httpd-2.2.21/bin/apxs -S
LIBEXECDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/modules' -S
SYSCONFDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/conf' -i -a -n php5 libphp5.la
LFLAGS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent --preserve-dup-deps
LN_S = ln -s
NATIVE_RPATHS = -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/kerberos/lib64
-Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/www/oracle
PEAR_INSTALLDIR = ${exec_prefix}/lib/php
PHP_BUILD_DATE = 2011-09-21
PHP_LDFLAGS = -L/usr/local/lib -L/usr/kerberos/lib64 -L/usr/lib64/mysql
-L/www/oracle
PHP_LIBS =
OVERALL_TARGET = libphp5.la
PHP_RPATHS = -R /usr/local/lib -R /usr/kerberos/lib64 -R
/usr/lib64/mysql -R /www/oracle
PHP_SAPI = apache2handler
PHP_VERSION = 5.3.6
PHP_VERSION_ID = 50306
SHELL = /bin/sh
SHARED_LIBTOOL = $(LIBTOOL)
------------------------------------------------------------------------------------------------
If someone could please help me build the right libphp5.so module, I
would would be very grateful.
Thank you for reading to the end of this long message and for helping me.
Francoise Koenig
I'm installing PHP 5.3.6 with Apache HTTP 2.2.21 on a 64-bit centos
platform (Linux 2.6.18-194.el5)
to use with the Horde 4 platform (webmail).
The system version of libxml is 2.6.26 , it is installed under
/usr/lib64 (and /usr/lib), but Horde
needs a 2.7 release of libxml, so I installed release 2.7.8 under
/usr/local/lib (with includes
under /usr/local/includes/libxml2) but libphp5.so gets compiled with the
includes from
/usr/local/includes/libxml2 and linked with /usr/lib64/libxml2.so and I
don't know how to
convince ld to use the right library. I don't have any error message
from configure or make but
httpd does not start with the following message:
---------------------------------------------------------
Cannot load /www/httpd/modules/libphp5.so into server:
/www/httpd/modules/libphp5.so: undefined symbol: xmlTextReaderSetup
---------------------------------------------------------
I checked that xmlTextReaderSetup is defined in the includes for release
2.7 of libxml but not 2.6
Here is how I run configure:
------------------------------------------------------------
./configure --prefix=/www/php-5.3.6
--with-apxs2=/www/httpd-2.2.21/bin/apxs \
--with-openssl --with-ldap \
--with-mysql \
--enable-ftp \
--with-libxml-dir=/usr/local/lib \
--with-libdir=lib64 \
--with-zlib \
--with-imap --with-mcrypt --with-kerberos --with-imap-ssl \
--with-gd \
--with-gettext --with-config-file-path=/www/php-5.3.6 \
--with-oci8=instantclient,/www/oracle --with-iconv
--enable-mbstring=all --enable-mbregex
-------------------------------------------------------------
(if I remove "--with-libdir=lib64" , I get a make error for
libmysqlclient which tries to use
/usr/lib/mysql/libmysqlclient.so.15)
Here is the output of lld for libphp5.so :
-------------------------------------------------------------
ldd libs/libphp5.so
linux-vdso.so.1 => (0x00007fffd0948000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002acff2a22000)
libc-client.so.1 => /usr/lib64/libc-client.so.1
(0x00002acff2c5b000)
librt.so.1 => /lib64/librt.so.1 (0x00002acff2f2f000)
libmysqlclient.so.15 => /usr/lib64/mysql/libmysqlclient.so.15
(0x00002acff3138000)
libmcrypt.so.4 => /usr/lib64/libmcrypt.so.4 (0x00002acff34aa000)
libltdl.so.3 => /usr/lib64/libltdl.so.3 (0x00002acff36db000)
libldap-2.3.so.0 => /usr/lib64/libldap-2.3.so.0
(0x00002acff38e2000)
liblber-2.3.so.0 => /usr/lib64/liblber-2.3.so.0
(0x00002acff3b1d000)
libpam.so.0 => /lib64/libpam.so.0 (0x00002acff3d2b000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x00002acff3f36000)
libz.so.1 => /usr/lib64/libz.so.1 (0x00002acff415b000)
libm.so.6 => /lib64/libm.so.6 (0x00002acff436f000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002acff45f2000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00002acff47f7000)
libgssapi_krb5.so.2 => /usr/lib64/libgssapi_krb5.so.2
(0x00002acff4a0f000)
libkrb5.so.3 => /usr/lib64/libkrb5.so.3 (0x00002acff4c3d000)
libk5crypto.so.3 => /usr/lib64/libk5crypto.so.3
(0x00002acff4ed3000)
libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00002acff50f8000)
libssl.so.6 => /lib64/libssl.so.6 (0x00002acff52fa000)
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00002acff5547000)
libclntsh.so.10.1 => /www/oracle/libclntsh.so.10.1
(0x00002acff5898000)
libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00002acff6caa000)
libc.so.6 => /lib64/libc.so.6 (0x00002acff6fe8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002acff7340000)
/lib64/ld-linux-x86-64.so.2 (0x000000310a200000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00002acff755c000)
libsasl2.so.2 => /usr/lib64/libsasl2.so.2 (0x00002acff7771000)
libaudit.so.0 => /lib64/libaudit.so.0 (0x00002acff798a000)
libkrb5support.so.0 => /usr/lib64/libkrb5support.so.0
(0x00002acff7ba3000)
libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00002acff7dab000)
libnnz10.so => /www/oracle/libnnz10.so (0x00002acff7fae000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00002acff844f000)
libsepol.so.1 => /lib64/libsepol.so.1 (0x00002acff8668000)
------------------------------------------------------------------------------------
Here are the lines of Makefile concerning paths :
-------------------------------------------------------------
EXTRA_LDFLAGS = -avoid-version -module -L/usr/local/lib
-L/usr/kerberos/lib64 -L/usr/lib64/mysql -L/www/oracle
EXTRA_LDFLAGS_PROGRAM = -L/usr/local/lib -L/usr/kerberos/lib64
-L/usr/lib64/mysql -L/www/oracle
EXTRA_LIBS = -lcrypt -lc-client -lcrypt -lrt -lmysqlclient -lmcrypt
-lltdl -lldap -llber -lcrypt -lpam -lpng -lz -lz -lrt -lm -ldl -lnsl
-lxml2 -lz -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lssl -lcrypto
-ldl -lz -lxml2 -lz -lm -lssl -lcrypto -ldl -lz -lgssapi_krb5 -lkrb5
-lk5crypto -lcom_err -lssl -lcrypto -ldl -lz -lclntsh -lxml2 -lz -lm
-lcrypt -lxml2 -lz -lm -lxml2 -lz -lm -lxml2 -lz -lm -lcrypt
ZEND_EXTRA_LIBS =
INCLUDES = -I/www/php-5.3.6-src/ext/date/lib
-I/www/php-5.3.6-src/ext/ereg/regex -I/usr/local/include/libxml2
-I/usr/kerberos/include -I/usr/include/imap
-I/www/php-5.3.6-src/ext/mbstring/oniguruma
-I/www/php-5.3.6-src/ext/mbstring/libmbfl
-I/www/php-5.3.6-src/ext/mbstring/libmbfl/mbfl -I/usr/include/mysql
-I/www/oracle/sdk/include -I/www/php-5.3.6-src/ext/sqlite3/libsqlite
-I$(top_builddir)/TSRM -I$(top_builddir)/Zend
EXTRA_INCLUDES =
INCLUDE_PATH = .:/www/php-5.3.6/lib/php
INSTALL_IT = $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/modules'
&& $(mkinstalldirs) '$(INSTALL_ROOT)/www/httpd-2.2.21/conf' &&
/www/httpd-2.2.21/bin/apxs -S
LIBEXECDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/modules' -S
SYSCONFDIR='$(INSTALL_ROOT)/www/httpd-2.2.21/conf' -i -a -n php5 libphp5.la
LFLAGS =
LIBTOOL = $(SHELL) $(top_builddir)/libtool --silent --preserve-dup-deps
LN_S = ln -s
NATIVE_RPATHS = -Wl,-rpath,/usr/local/lib -Wl,-rpath,/usr/kerberos/lib64
-Wl,-rpath,/usr/lib64/mysql -Wl,-rpath,/www/oracle
PEAR_INSTALLDIR = ${exec_prefix}/lib/php
PHP_BUILD_DATE = 2011-09-21
PHP_LDFLAGS = -L/usr/local/lib -L/usr/kerberos/lib64 -L/usr/lib64/mysql
-L/www/oracle
PHP_LIBS =
OVERALL_TARGET = libphp5.la
PHP_RPATHS = -R /usr/local/lib -R /usr/kerberos/lib64 -R
/usr/lib64/mysql -R /www/oracle
PHP_SAPI = apache2handler
PHP_VERSION = 5.3.6
PHP_VERSION_ID = 50306
SHELL = /bin/sh
SHARED_LIBTOOL = $(LIBTOOL)
------------------------------------------------------------------------------------------------
If someone could please help me build the right libphp5.so module, I
would would be very grateful.
Thank you for reading to the end of this long message and for helping me.
Francoise Koenig