On 21 Jun 2006, at 09:29, Ronald Oussoren wrote: > > On 20-jun-2006, at 23:32, Dan White wrote: >> >> >> what should i rewrite it to be? >> using >> install_name_tool -id ? >> what would make pyapp automatically copy the library and rewrite >> the install_name? > > If I understand things correctly the install_name of libguide.dylib > is currently just libguide.dylib, whereas it should be /path/to/ > libguide.dylib. The install_name is copied into any objects that > link to the library (which is what you get to see when you use > otool -vL). > > If the install_name of a linked-to library points to a library that > py2app can find at that location that library will be copied into > the application bundle and it's install_name gets rewritten to > something relative to the executable in the application bundle. > > Now that I think a bit more about this issue, it might be possible > to solve this using a py2app recipe. I don't really have time to > work on this, even though I'd love to play with the Intel compiler > to see if that would speed up Python.
Looks like py2app did manage to pick up the libguilde.dylib and put it in Frameworks, but it did not rewrite the install name: from the console after double clicking my .app 2006-06-21 12:22:39.222 BioImageXD[26632] BioImageXD Error 2006-06-21 12:22:39.222 BioImageXD[26632] An unexpected error has occurred during execution of the main script ImportError: Failure linking new module: /Users/dan/Desktop/ bioimagexdsvn/trunk/dist/BioImageXD.app/Contents/Resources/Python/lib- dynload/vtk/libvtkIOPython.so: Library not loaded: libguide.dylib Referenced from: /Users/dan/Desktop/bioimagexdsvn/trunk/dist/ BioImageXD.app/Contents/MacOS/../Frameworks/libvtkIOPythonD.5.1.dylib Reason: image not found and otool -L tells me: white:~/Desktop/bioimagexdsvn/trunk dan$ otool -L /Users/dan/Desktop/ bioimagexdsvn/trunk/dist/BioImageXD.app/Contents/Frameworks/ libguide.dylib /Users/dan/Desktop/bioimagexdsvn/trunk/dist/BioImageXD.app/Contents/ Frameworks/libguide.dylib: /opt/intel/cc/9.1.027/lib/libguide.dylib (compatibility version 4.0.0, current version 4.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.3) should be @executable_path/../Frameworks/libguide.dylib right? otool -L for the dylib trying to see libguide: white:~/Desktop/bioimagexdsvn/trunk dan$ otool -L /Users/dan/Desktop/ bioimagexdsvn/trunk/dist/BioImageXD.app/Contents/Frameworks/ libvtkIOPythonD.5.1.dylib /Users/dan/Desktop/bioimagexdsvn/trunk/dist/BioImageXD.app/Contents/ Frameworks/libvtkIOPythonD.5.1.dylib: libvtkIOPythonD.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkIO.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkFilteringPythonD.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) /System/Library/Frameworks/Python.framework/Versions/2.3/ Python (compatibility version 2.3.0, current version 2.3.5) libvtkDICOMParser.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkpng.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtktiff.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkzlib.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkjpeg.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkexpat.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkMPEG2Encode.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkFiltering.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkCommonPythonD.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtkCommon.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) libvtksys.5.1.dylib (compatibility version 0.0.0, current version 0.0.0) /System/Library/Frameworks/AppKit.framework/Versions/C/ AppKit (compatibility version 45.0.0, current version 824.39.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.5) libguide.dylib (compatibility version 4.0.0, current version 4.0.0) /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 1.0.0) white:~/Desktop/bioimagexdsvn/trunk dan$ should all these vtk*.dylib also have @executable_path/../Frameworks/libvtk* for their install names once py2app has put them in my .app bundle, since they are not system libraries, but are ones I have compiled with the intel compiler for use in my .app? Also should libguide.dylib also be listed here as @executable_path/../ Frameworks/libguide.dylib not just libguide.dylib? Dan Dr. Daniel James White BSc. (Hons.) PhD Bioimaging Coordinator Nanoscience Centre and Department of Biological and Environmental Sciences Division of Molecular Recognition Ambiotica C242 PO Box 35 University of Jyväskylä Jyväskylä FIN 40014 Finland +358 14 260 4183 (work) +358 468102840 (mobile) http://www.bioimagexd.org http://www.chalkie.org.uk [EMAIL PROTECTED] [EMAIL PROTECTED] _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig