Re: Apple library distrobution
Re: Apple library distrobution
- Subject: Re: Apple library distrobution
- From: Tim Cutts <email@hidden>
- Date: Sat, 16 Oct 2004 14:46:11 +0100
On 16 Oct 2004, at 1:12 pm, David R. Morrison wrote:
On Oct 15, 2004, at 3:23 PM, Ken Mankoff wrote:
[snip]
There is a problem with having your installer put these libraries in
/usr/X11R6/lib: what if the user already has X11 installed? (You
could design your installer to check for this, of course.) A bigger
problem: what if they decide to install it later? If your files are
there, they will be overwritten; if you use symlinks, something even
worse can happen: the other installation might end up following
symlinks during installation and putting the files in the wrong place.
A third problem: if the libs are present when your program is
installed, and you decide not to overwrite them, what happens if they
user subsequently removes X11?
There are other possible ways to handle this, including installing
these libraries in another place and linking your program to your
private copy of these libraries. (That trick works for most
libraries, but I am told that it is hard to pull off for X11, which
makes assumptions about where it is installed.) Another possibility
is to install the libraries to a different location and have your
program set the environment variable DYLD_LIBRARY_PATH before
searching libraries. See "man dyld" for information about how this
works.
Alternatively, you could consider statically linking your application
with those X libraries. Makes your application large (although no
larger than the combination of the app and the distributed libraries)
and avoids dynamic linkage complications like this.
Does Apple X11 supply statically linkable libraries?
Tim
--
Dr Tim Cutts
Informatics Systems Group, Wellcome Trust Sanger Institute
GPG: 1024D/E3134233 FE3D 6C73 BBD6 726A A3F5 860B 3CDD 3F56 E313 4233
_______________________________________________
Do not post admin requests to the list. They will be ignored.
X11-users mailing list (email@hidden)
This email sent to email@hidden