Pregunta

El intentar cargar una librería compartida fuera de la corriente ''. dir en una prueba de unidad en osx.

Lo que funciona en Linux y NetBSD hay un enlace simbólico _mymodule.so --> ../.libs/libmymodule.so

pero en OSX, import mymodule del pitón no encontrará

_mymodule.dylib --> ../.libs/libmymodule.dylib

He intentado añadir

export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH

para el env guión, Nogo. Cualquier ayuda apreciada.

-Ed

Actualización 4/6/10:

solucionado con la información de krunk a continuación. Pero sólo copiar o de fase con la -s'ing dylib a un nombre .so no resolvió por completo. Aún no se cargue. Pero contando libtool para vincular el lib con la bandera -module creó un lib .so que cargar. versión Python de las obras lib ahora.

Ahora bien, si solo pudiera conseguir el trabajo lib Perl. Estoy construyendo Perl trago, Python, Ruby y bibliotecas LUA y esta revisión solo recibió Python y Lua de trabajo.

¿Fue útil?

Solución

Sólo tiene que utilizar * .so como sus extensiones de módulos en OS X también. Tengo un vago recuerdo de no ser capaz de cargar de .dylib y resultando ser un problema con el pitón en sí. . . pero no puedo encontrar la posterior lista de correo ahora.

Sin embargo, estar seguro de que está siguiendo la práctica habitual utilizando * .so que es aún en OS X. Los únicos * de .dylib en todo el marco son los libsvn_swig.

find /System/Library/Frameworks/Python.framework/Versions/2.6/ -name "*.so"

/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.0.0.0.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.0.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/X11/xcb/xcb.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/CoreGraphics/_CoreGraphics.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/SSL.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/crypto.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/OpenSSL/rand.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_appmain.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_carbon.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_inlines.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsbezierpath.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsbitmap.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsfont.so
 /System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsquickdrawview.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nsview.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/AppKit/_nswindow.so
/System/Library/Frameworks/Python.framework/Versions/2.6//Extras/lib/python/PyObjC/CFNetwork/_manual.so
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top