I currently created a 'dmg' file using macdeployqt and encountered the following error.
Dyld Error Message:
Library not loaded: @executable_path/../Frameworks/libosg.141.dylib
Referenced from: /Users/USER/*/myApp2.app/Contents/MacOS/MyApp2
Reason: image not found
I then came across this post by @cristopher bruns which explained the situation. Essentially I needed needed to add libosg.141.dylib
to the app and then add all the libraries that libosg.141.dylib
was dependent on.So for instance libosg.141.dylib
depends on the following 13 files.
> otool -L /usr/local/lib/libosgDB.dylib
/usr/local/lib/libosgDB.dylib:
libosgDB.141.dylib (compatibility version 141.0.0, current version 3.5.1)
libosgUtil.141.dylib (compatibility version 141.0.0, current version 3.5.1)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
libosg.141.dylib (compatibility version 141.0.0, current version 3.5.1)
libOpenThreads.20.dylib (compatibility version 20.0.0, current version 3.3.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1256.14.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1256.1.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
My question is do I need to add all these 13 files to the app ? How deep do I need to go ? How could I know when to stop. Since each of these files might have their own dependencies ?