Downloading the zip file referenced earlier and using a simple main.c $ clang -x c -o main.o -c main.c $ clang main.o -o main $ otool -L main main: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
adding the framework right from the unzipped zip and then otool’ing it $ clang main.o -F ~/Downloads/Mac-Framework-master -framework Paddle -o main $ otool -L main main: @executable_path/../Frameworks/Paddle.framework/Versions/A/Paddle (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0) That’s that @executable_path from the library, using otool -D on it ... $ otool -D ~/Downloads/Mac-Framework-master/Paddle.framework/Paddle /Users/rols/Downloads/Mac-Framework-master/Paddle.framework/Paddle: @executable_path/../Frameworks/Paddle.framework/Versions/A/Paddle now update it and check it again $ install_name_tool -id @rpath/bananas/are/tasty ~/Downloads/Mac-Framework-master/Paddle.framework/Paddle $ otool -D ~/Downloads/Mac-Framework-master/Paddle.framework/Paddle /Users/rols/Downloads/Mac-Framework-master/Paddle.framework/Paddle: @rpath/bananas/are/tasty and re-link main and then otool it again $ clang main.o -F ~/Downloads/Mac-Framework-master -framework Paddle -o main $ otool -L main main: @rpath/bananas/are/tasty (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0) That’s where it comes from - that’s how you can change it. Don’t know what you’re seeing. > On 3 Jul 2015, at 21:19, Kevin Meaney <k...@yvs.eu.com> wrote: > >> >> I don’t know what the executable_path is for a screensaver, you’d think it >> was very much the same thing. So first simplest option is to work out what >> that is and then just put the library at the place it expects to be, >> @executable_path/../Frameworks/<lots of garbage>. As long as that’s within >> your bundle somewhere, trivial to do. You can even put it somewhere else and >> put a symlink in the bundle. > > The @executable_path for the Screen saver will be the path to the executable > process that loads the OP’s screen saver plugin. in this case > ScreenSaverEngine. > >> >> If you want to change it to something like @rpath/whatever then >> >> install_name_tool -id @rpath/whatever <object> > > This is where I get confused. In my project not the original posters my > framework has Installation Directory set to @rpath and everything works as I > need it to thanks to that Mike Ash article. But if I do otool -D on the > framework then I see @executable_path … etc. Making me conclude the rpath > information was stored separately in the binary to the install name so my > thinking was that modifying the install name wouldn’t help. > > Kevin > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com