Cannot build libphp5.so with the right version of libxml2

[email protected] (Francoise Koenig-Jost)
Newsgroups php.install
Message-ID <[email protected]>
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
jost.vcf (text/x-vcard, 398 B)
begin:vcard
fn;quoted-printable:Fran=C3=A7oise K=C3=B6nig
n;quoted-printable;quoted-printable:K=C3=B6nig;Fran=C3=A7oise
org:ESRF;Technical Infrastructure Division - MIS group - Web Unit
adr:BP 220;;6 rue Jules Horowitz;GRENOBLE;;38043;France
email;internet:[email protected]
tel;work:+33 (0)4 76 88 25 57
note:In office: Mo, Tue, Thu mornings, Wed all day
url:http://www.esrf.eu/
version:2.1
end:vcard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.