Intentando cargar una lib compartida del actual '.' dir en una prueba unitaria en osx.cómo hacer que python cargue dylib en osx
Lo que funciona en Linux y NetBSD no es un enlace simbólico _mymodule.so --> ../.libs/libmymodule.so
pero en OSX, pitón de import mymodule
no encontrará
_mymodule.dylib --> ../.libs/libmymodule.dylib
He intentado añadir
export DYLD_LIBRARY_PATH=.:$DYLD_LIBRARY_PATH
a la guión env, nogo. Cualquier ayuda apreciada.
-Ed actualización
4/6/10:
resuelto con la información de krunk a continuación. Pero solo copiar o ls -s'ing the dylib a .so name no lo resolvió completamente. Todavía no se carga. Pero al decirle a libtool que vincule la lib con el indicador -module se creó una .so lib que se cargaría. La versión Python de la lib funciona ahora.
Ahora si pudiera hacer funcionar la lib de perl. Estoy compilando swig perl, python, ruby y lua libs y esta solución solo funcionaba con python y lua.
gracias! tu respuesta me sacó de esta zanja, me llevó muy lejos en la dirección correcta. – navicore
Solo como medida preventiva, nunca utilice bibliotecas estáticas en OS X. Están "en desuso" y OSX siempre_ enlazará bibliotecas dinámicas sobre estáticas cuando sea posible, incluso si usted específicamente vincula a una biblioteca estática. p. si enlaza a /path/to/libfoo.a y libfoo.dylib o libfoo.so existe en cualquier parte de la ruta, el vinculador ignorará su solicitud, lo que generará algunos errores de símbolos indefinidos en el tiempo de ejecución muy interesantes si los dos tienen tablas diferentes. – jkyle