add rpath for libraries specified with --link #213
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I use Spack to manage my dependencies for Alamo and keep them separate from my system-installed dependencies which I need for other projects/software. Getting Alamo to find my Spack-installed dependencies during compile/link time was trivial using the
--linkflag, but the executable couldn't find thelibpngdependency during runtime:Looking at the output from
otool, I can confirmlibpngis being referenced dynamically:But, there doesn't appear to be a path set that would tell the executable where to find my Spack-installed
libpnglibrary:One fix (as implemented in this PR) would be to add any libraries that were added with
--linkto therpathusing-Wl,-rpath,/path/to/library. If you do this, then we correctly see theLC_RPATHwithotool:and we no longer get the error about not being able to find the
libpnglibrary: