[Pythonmac-SIG] Creating an applet that includes wxPython
Bob Ippolito
bob at redivi.com
Sun Sep 7 17:20:22 EDT 2003
On Sunday, Sep 7, 2003, at 15:50 America/New_York, Jack Jansen wrote:
> In stead of modifying the references to the wx libraries, as Bob
> suggested, I think it should be possible to setup DYLD_LIBRARY_PATH
> in the bundle bootstrap script, and simply copy the libraries into
> the bundle somewhere (I think I would put them in Frameworks in stead
> of in Resources, but that's a minor detail).
I would put them in Frameworks too, myself, but I haven't used
bundlebuilder enough to know that it knows how to put stuff other than
the Python framework there.
> Hmm, looking at the source for the bootstrap script I see it already
> sets both DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH to point to the
> Frameworks directory! And there's a --lib option that puts things in
> there!
Cool :)
I like to modify the references so it's more deterministic.. AFAIK dyld
will always try the mach-o header references first, then start poking
around at the search paths. In my suggested case, it will link to the
included binaries regardless of what the user has installed.
There is definitely a case for using potool to allow bundlebuilder to
find these libraries for you (i.e. check references that don't live in
/System or /usr/lib and move those frameworks and libraries into the
bundle).
I also think that since some modules reference the same dynamic
libraries, it might make sense to have an option to do even more
relocation (in the case where they use different versions or
something).. for example you could put things in
@executable_path/../Frameworks/%s/ where %s is the name of the python
package that depends on that dylib or framework. I don't know of any
real cases where a conflict of this nature happens, so it might be
YAGNI.
-bob
More information about the Pythonmac-SIG
mailing list