[Expat-discuss] expat, XFree86, and soname
Jeremy Huddleston
jeremyhu at uclink4.berkeley.edu
Sat Mar 1 02:57:49 EST 2003
I just installed XFree86 4.3, and to my supprise it includes expat
1.95.2. I was going to delete it so that I could use the 1.95.6 that I
have on my system instead, but there is a small problem. XFree86 calls
the library libexpat.so.1 while the soname used in the expat tarballs is
libexpat.so.0. Clearly this is not a great situation. I can (and have)
removed the libexpat* files from /usr/X11R6/lib and run he following in
/usr/local/lib:
ld -shared -soname=libexpat.so.1 libexpat.so.0 -o libexpat.so.1
This has the effect of allowing files linked against libexpat.so.1 to
gain access to the libexpat.so.0 "through" it.
Alternatively, you can create a symlink:
ln -s libexpat.so.0 libexpat.so.1
While these work arounds work, it does not solve the problem with the
soname. Some of my programs will be looking for libexpat.so.0 and some
will be looking for libexpat.so.1.
Because of this, will all future libexpat.so.1 and libexpat.so.0
libraries be binary compatible with eachother, and will future versions
start using the libexpat.so.1 soname?
Thanks,
Jeremy
More information about the Expat-discuss
mailing list