Re: "library name bug"?
Re: "library name bug"?
- Subject: Re: "library name bug"?
- From: Martin Costabel <email@hidden>
- Date: Fri, 31 Jan 2003 01:09:39 +0100
Randy Ford wrote:
So, what is the bug supposed to be? All I see is a script that
somebody me to run as root, but no description of the problem that
supposedly exists, or how the script "corrects" it.
Since it's almost three weeks that this was discussed here on the list,
and the list archive is, let's say, somewhat unpractical, here two
examples of what can happen with the present version of Apple's X11:
1. Suppose you compile some binary (executable or library) that is
linked to libXrender. It will store the "install_name" of the library
internally, which in Apple's X11 beta is
"/usr/X11R6/lib/libXrender.1.1.dylib"
Now suppose tomorrow you install the new Xfree86-4.3.0 or Apple's
X11-1.0-final which has libXrender.1.2.dylib. The result is that your
binary will crash, because it doesn't find its libXrender any more.
In the "standard" xfree86, the install_name would be
"/usr/X11R6/lib/libXrender.1.dylib" for both versions 1.1 and 1.2 of
libXrender, and your binary would continue to run.
2. Suppose you have some library like libXaw3d that was compiled before
Apple's X11 beta was installed. Now you have the X11 beta installed and
want to compile something that uses libXmu and libXaw3d. The result is a
linker error, because the linker sees libXmu twice, once as libXmu.dylib
as invoked from the command line and once as libXmu.6.dylib as
referenced by libXaw3d. The two are not considered the same, because
they don't have the same install_name, the one in Apple's X11 beta being
libXmu.6.2.dylib.
Both problems will be avoided if you run the install_name_fix perl script.
But hopefully, this problem will be moot very soon and as forgotten as
the whole X11 public beta :-)
--
Martin
_______________________________________________
x11-users mailing list | email@hidden
Help/Unsubscribe: http://www.lists.apple.com/mailman/listinfo/x11-users
Do not post admin requests to the list. They will be ignored.