A dynamic library has an 'install name', which is where the library will assume it will be installed. For things like frameworks that will be stored in an application bundle, the install name has something like@executable_path/../blah
. Sometimes you get a library from someone else (or something generated by a gigantic configure script) and need to change the install name. Theinstall_name_tool
will do that for you. Say I had a library, libbork.dylib, that will end up being placed side-by-side with the executable of a cocoa app, this is how I would fix it:% install_name_tool -id @executable_path/libbork.dylib ./libbork.dylib