Skip to content

Instantly share code, notes, and snippets.

@dreness
Created June 14, 2021 01:10
Show Gist options
  • Save dreness/212b7ca2a514c7a79662ef537440e9f4 to your computer and use it in GitHub Desktop.
Save dreness/212b7ca2a514c7a79662ef537440e9f4 to your computer and use it in GitHub Desktop.
AMD forgot LC_RPATH in the sample code for their own SDK!
andre@boop RadeonProRenderSDK % file tutorials/Bin/01_camera_setup64
tutorials/Bin/01_camera_setup64: Mach-O 64-bit executable x86_64
andre@boop RadeonProRenderSDK % ./tutorials/Bin/01_camera_setup64
dyld: Library not loaded: @rpath/libRadeonProRender64.dylib
Referenced from: /Users/andre/work/RadeonProRenderSDK/./tutorials/Bin/01_camera_setup64
Reason: image not found
zsh: abort ./tutorials/Bin/01_camera_setup64
andre@boop RadeonProRenderSDK % otool -L tutorials/Bin/01_camera_setup64
tutorials/Bin/01_camera_setup64:
@rpath/libRadeonProRender64.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 905.6.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.120.1)
andre@boop RadeonProRenderSDK % otool -l tutorials/Bin/01_camera_setup64 | grep -i path
name @rpath/libRadeonProRender64.dylib (offset 24)
andre@boop RadeonProRenderSDK % install_name_tool -add_rpath /Users/andre/work/RadeonProRenderSDK/RadeonProRender/binMacOS tutorials/Bin/01_camera_setup64
RPATH successful expansion of @rpath/libcodedirectory.dylib to: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/libcodedirectory.dylib
andre@boop RadeonProRenderSDK % otool -l tutorials/Bin/01_camera_setup64 | grep -i path
name @rpath/libRadeonProRender64.dylib (offset 24)
cmd LC_RPATH
path /Users/andre/work/RadeonProRenderSDK/RadeonProRender/binMacOS (offset 12)
andre@boop RadeonProRenderSDK % DYLD_PRINT_RPATHS=1 DYLD_PRINT_LIBRARIES=1 ./tutorials/Bin/01_camera_setup64
dyld: loaded: <20AEA92C-D129-37FD-AC28-CC6477391E51> /Users/andre/work/RadeonProRenderSDK/./tutorials/Bin/01_camera_setup64
dyld: loaded: <3672D7EC-E381-3970-AE80-09B543887357> /Users/andre/work/RadeonProRenderSDK/RadeonProRender/binMacOS/libRadeonProRender64.dylib
RPATH successful expansion of @rpath/libRadeonProRender64.dylib to: /Users/andre/work/RadeonProRenderSDK/RadeonProRender/binMacOS/libRadeonProRender64.dylib
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment