Jani is right, this is not a PHP bug. You need to configure your system
correctly to make sure the libs are checked in the right order for
correctly to make sure the libs are checked in the right order for
# ldconfig -p | grep -i xml2
libxml2.so.2 (libc6,x86-64) => /usr/local/lib/libxml2.so.2
libxml2.so.2 (libc6,x86-64) => /usr/lib64/libxml2.so.2
libxml2.so (libc6,x86-64) => /usr/local/lib/libxml2.so
libxml2.so (libc6,x86-64) => /usr/lib64/libxml2.so
shared libraries and also make sure that other components that rely on
libxml2 aren't pulling it in from another place. PHP is not going to
pull it in from 2 different places. Really more of a php-install list
So this appears to be the crux of it. As rrichards points out in his latestlibxml2 aren't pulling it in from another place. PHP is not going to
pull it in from 2 different places. Really more of a php-install list
bug comment, removing --with-xsl makes the linking work. However, I've
already built my own libxslt for just these dependency reasons (against the
newly built libxml2), and ordering/linking appears correct:
# ldconfig -p | grep xslt
libxslt.so.1 (libc6,x86-64) => /usr/local/lib/libxslt.so.1
libxslt.so.1 (libc6,x86-64) => /usr/lib64/libxslt.so.1
libxslt.so (libc6,x86-64) => /usr/local/lib/libxslt.so
libxslt.so (libc6,x86-64) => /usr/lib64/libxslt.so
libexslt.so.0 (libc6,x86-64) => /usr/local/lib/libexslt.so.0
libexslt.so.0 (libc6,x86-64) => /usr/lib64/libexslt.so.0
libexslt.so (libc6,x86-64) => /usr/local/lib/libexslt.so
libexslt.so (libc6,x86-64) => /usr/lib64/libexslt.so
# ldd /usr/local/lib/libxslt.so.1
libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x0000002a95699000)
libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a958d8000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a959eb000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95b71000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000002a95da7000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
# ldd libexslt.so.0
libgcrypt.so.11 => /usr/lib64/libgcrypt.so.11 (0x0000002a95673000)
libgpg-error.so.0 => /usr/lib64/libgpg-error.so.0 (0x0000002a957be000)
libxslt.so.1 => /usr/local/lib/libxslt.so.1 (0x0000002a958c1000)
libxml2.so.2 => /usr/local/lib/libxml2.so.2 (0x0000002a959f9000)
libz.so.1 => /usr/lib64/libz.so.1 (0x0000002a95c38000)
libm.so.6 => /lib64/tls/libm.so.6 (0x0000002a95d4b000)
libc.so.6 => /lib64/tls/libc.so.6 (0x0000002a95ed1000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x0000002a96107000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000002a9621f000)
/lib64/ld-linux-x86-64.so.2 (0x000000552aaaa000)
So again, all appears kosher to me. Supplying the --with-xsl=/usr/local
should point PHP to my compiled version of the library, and
--with-libxml-dir=/usr/local should do similar for its respective library.
And each library is linking to the underlying same libxml2 version, so there
aren't two different ones in use, that I can see.
H