diff options
author | Geoffrey Oxberry <goxberry@gmail.com> | 2018-09-19 02:48:53 +0100 |
---|---|---|
committer | scheibelp <scheibel1@llnl.gov> | 2018-09-18 18:48:53 -0700 |
commit | c971f6f1ebff8f263ff17ac9dbd777e664e37ed9 (patch) | |
tree | 6f9af6ca257a8d9768f5c0c15acf35174a0acceb | |
parent | d14971b06109d97add4b62ffe2dee00c3916ba8a (diff) | |
download | spack-c971f6f1ebff8f263ff17ac9dbd777e664e37ed9.tar.gz spack-c971f6f1ebff8f263ff17ac9dbd777e664e37ed9.tar.bz2 spack-c971f6f1ebff8f263ff17ac9dbd777e664e37ed9.tar.xz spack-c971f6f1ebff8f263ff17ac9dbd777e664e37ed9.zip |
apple-libunwind: update path to library (#9265)
-rw-r--r-- | var/spack/repos/builtin/packages/apple-libunwind/package.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/var/spack/repos/builtin/packages/apple-libunwind/package.py b/var/spack/repos/builtin/packages/apple-libunwind/package.py index 1aacf98c2b..b77301359a 100644 --- a/var/spack/repos/builtin/packages/apple-libunwind/package.py +++ b/var/spack/repos/builtin/packages/apple-libunwind/package.py @@ -66,10 +66,24 @@ class AppleLibunwind(Package): @property def libs(self): - """ Export the Apple libunwind library + """Export the Apple libunwind library. The Apple libunwind library + cannot be linked to directly using an absolute path; doing so + will cause the linker to throw an error 'cannot link directly + with /usr/lib/system/libunwind.dylib' and the linker will + suggest linking with System.framework instead. Linking to this + framework is equivalent to linking with libSystem.dylib, which + can be confirmed on a macOS system by executing at a terminal + the command `ls -l + /System/Library/Frameworks/System.Framework` -- the file + "System" is a symlink to `/usr/lib/libSystem.B.dylib`, and + `/usr/lib/libSystem.dylib` also symlinks to this file. + + Running `otool -L /usr/lib/libSystem.dylib` confirms that + it will link dynamically to `/usr/lib/system/libunwind.dylib`. + """ - libs = find_libraries('libunwind', - join_path(self.prefix.lib, 'system'), + libs = find_libraries('libSystem', + self.prefix.lib, shared=True, recursive=False) if libs: return libs |