# Bug #44087

- Thread: https://externals.io/message/35846
- Original archive: https://news-web.php.net/php.internals/35846
- Started by Hans Zaunere on 2008-02-28T12:14:29+00:00
- Messages: 3
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #35846 — Hans Zaunere — 2008-02-28T12:14:29+00:00

URL: https://externals.io/message/35846#35846

All,

I recently reported the following bug:

http://bugs.php.net/bug.php?id=44087

I'd appreciate another look.  It seems that there is a problem with how
./configure is locating libraries (which has happened in the past), unless
I'm misunderstanding the purpose of the --with-libxml-dir directive.

---
Hans Zaunere / President / New York PHP Community

---

## #35855 — Rasmus Lerdorf — 2008-02-28T15:43:37+00:00

URL: https://externals.io/message/35846#35855 · In reply to: #35846

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
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
support question than a bug or an internals@ thing.

-Rasmus

Hans Zaunere wrote:
> All,
> 
> I recently reported the following bug:
> 
> http://bugs.php.net/bug.php?id=44087
> 
> I'd appreciate another look.  It seems that there is a problem with how
> ./configure is locating libraries (which has happened in the past), unless
> I'm misunderstanding the purpose of the --with-libxml-dir directive.
> 
> ---
> Hans Zaunere / President / New York PHP Community

---

## #35944 — Hans Zaunere — 2008-03-04T12:42:13+00:00

URL: https://externals.io/message/35846#35944 · In reply to: #35855

> 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
