Estoy tratando de compilar y uso compartido de la biblioteca de C como un módulo de python y estoy observando que, dependiendo de la DYLD_LIBRARY_PATH
mi código funciona o se bloquea con un críptico mensaje de error.
Jul 24 02:44:44 master
$ DYLD_LIBRARY_PATH=/opt/local/lib python -c 'import opengm'
OKAY
Jul 24 02:45:41 master
$ DYLD_LIBRARY_PATH= python -c 'import opengm'
python(86214,0x7fff70ccdcc0) malloc: *** error for object 0x7fff70177500: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap
He tratado de revisar que las bibliotecas son comunes entre /usr/lib
y /usr/local/lib
y /opt/local/lib
, pero no he sido capaz de encontrar la causa del accidente. Una forma de averiguar la causa del problema será que averiguar dylib
archivos de hacer los dos procesos de uso? Yo no era capaz de entender esto usando opensnoop
o dtruss
, pero tal vez yo estaba usando las herramientas equivocadas.
¿Cómo puedo averiguar la causa de este accidente?
DESCARGO de responsabilidad: he publicado esta misma pregunta en MODO de 2 días, donde no recibió ninguna respuesta y sólo 8 puntos de vista.