> 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

They are - per the bug report, the ordering is correct:

# 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 latest
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



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to