Handling different library versions when deploying
Handling different library versions when deploying
- Subject: Handling different library versions when deploying
- From: Heath Raftery <email@hidden>
- Date: Tue, 28 Mar 2006 13:07:07 +1100
I'm curious about how you guys are handling the problem of running
your system on one set of libraries, and building on another. There
are two main issues:
1. How do you ensure that when you build your app, the correct
libraries are linked in, while still being able to run apps on your
system that rely on different libraries.
2. How do you ensure that the dynamic libraries your app uses exist
on your target systems?
Now an example to illustrate what I'm on about. My app uses the
libcurl library. libcurl.dylib was added to the OS at some point, and
is also installed with the Developer Tools I think. Not realising
libcurl is not in the base install, I dynamically linked my
deployment app and ran into trouble. I *think* the solution here is
to check the Developer Tools SDK's for each OS version you wish to
deploy to, but this is cumbersome.
Secondly (I'm illustrating the two questions above out of order) I
wanted to link to the latest libcurl anyway, so downloaded and
compiled it for myself, producing a libcurl.a in /usr/local/lib (as
well as a bunch of other libcurl.* dynamic libraries). In order to
statically link to libcurl.a when I build I need to rename all the
dynamic libs (including the ones in the SDK directories when building
with those, or in /usr/lib when not) and do the build. Of course,
this doesn't last long because as soon as I launch Disk Utility for
example, it dies and reports it can't find libcurl.dylib. I know you
can pass a flag to ld to check for static libs before checking the
other directories on the library include path for dynamic libs, but I
don't want this behaviour for every library.
Interested in your thoughts,
Heath
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden