tengo software que se carga una primera .dylib permite llamar libFirst.dylib con el siguiente comando:dlopen() no se encuentra
void* handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_GLOBAL);
Más adelante dentro de una función de la carga libFirst.dylib intento cargar otro .dylib usando el mismo comando pero para libSecond.dylib, la carga de esta biblioteca compartida me da las siguientes advertencias en mi Xcode consola:
error warning: Ignored unknown object module at 0x129310 with type 0x8a8399
dlerror: dlopen(/path/libSecond.dylib, 9): Library not loaded: libFirst.dylib
Referenced from: /path/libSecond.dylib
Reason: image not found
lo que no entiendo es que su dice libFirst.dylib no está cargado, pero actualmente estoy dentro de una función de libFirst.dylib, ¿cómo puede ser esto?
Todos mis caminos en DYLD_LIBRARY_PATH aparecen correcta también.
Gracias de antemano, que se han pegado en esto durante días.
¿Ha intentado algo así como strace? Puede darle más información para ver específicamente qué llamada está fallando. – Josh
Mi rastro de pila muestra la función que llama a dlopen llamada CreateModule en libSecond.dylib, que es una función dentro de libFirst.dylib. –
No es el rastro de la pila: strace significa rastrear el sistema. Se trata de llamadas a funciones de rastreo, como archivos de apertura, inodos de estadísticas, etc. Podría arrojar algo de luz sobre dónde exactamente se ve su sistema operativo. – Josh