[MacPorts] #67686: clang-16 @16.0.6_0: links to compiler runtime libraries using wrong path

MacPorts noreply at macports.org
Fri Jun 30 04:21:37 UTC 2023


#67686: clang-16 @16.0.6_0: links to compiler runtime libraries using wrong path
---------------------------+--------------------
  Reporter:  chrstphrchvz  |      Owner:  (none)
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:  2.8.1
Resolution:                |   Keywords:
      Port:  clang-16      |
---------------------------+--------------------

Comment (by kencu):

 llvm seems to have the proper @rpath links:
 {{{
 % port contents llvm-16 | grep dylib | xargs otool -L
 /opt/local/libexec/llvm-16/lib/LLVMPolly.dylib:
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libLLVM.dylib:
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /opt/local/lib/libffi.8.dylib (compatibility version 10.0.0,
 current version 10.2.0)
         /opt/local/lib/libedit.0.dylib (compatibility version 1.0.0,
 current version 1.70.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current
 version 1.2.13)
         /opt/local/lib/libzstd.1.dylib (compatibility version 1.0.0,
 current version 1.5.5)
         /opt/local/lib/libncurses.6.dylib (compatibility version 6.0.0,
 current version 6.0.0)
         /opt/local/lib/libxml2.2.dylib (compatibility version 13.0.0,
 current version 13.4.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
 /opt/local/libexec/llvm-16/lib/libLTO.dylib:
         @rpath/libLTO.dylib (compatibility version 1.0.0, current version
 16.0.6)
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libRemarks.dylib:
         @rpath/libRemarks.dylib (compatibility version 1.0.0, current
 version 16.0.6)
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 }}}

 but for clang's libs, only some of them are using @rpath, which is on the
 face of it a bit odd. All the clang libraries in the clang runtime are
 using full pathnames instead.

 {{{
 % port contents clang-16 | grep dylib | xargs otool -L
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
 (architecture x86_64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.asan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
 (architecture x86_64h):
         /opt/local/libexec/llvm-16/lib/libclang_rt.asan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.asan_osx_dynamic.dylib
 (architecture arm64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.asan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib
 (architecture x86_64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.lsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib
 (architecture x86_64h):
         /opt/local/libexec/llvm-16/lib/libclang_rt.lsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.lsan_osx_dynamic.dylib
 (architecture arm64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.lsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
 (architecture x86_64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.stats_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0, weak)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
 (architecture x86_64h):
         /opt/local/libexec/llvm-16/lib/libclang_rt.stats_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0, weak)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.stats_osx_dynamic.dylib
 (architecture arm64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.stats_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0, weak)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
 (architecture x86_64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.tsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current
 version 228.0.0)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
 (architecture x86_64h):
         /opt/local/libexec/llvm-16/lib/libclang_rt.tsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current
 version 228.0.0)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
 (architecture arm64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.tsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current
 version 228.0.0)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (architecture x86_64):
 /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (architecture x86_64h):
 /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (architecture arm64):
 /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_minimal_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
 (architecture x86_64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
 (architecture x86_64h):
         /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/clang/16/lib/darwin/libclang_rt.ubsan_osx_dynamic.dylib
 (architecture arm64):
         /opt/local/libexec/llvm-16/lib/libclang_rt.ubsan_osx_dynamic.dylib
 (compatibility version 0.0.0, current version 0.0.0)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libc++abi.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libClangdXPCLib.dylib:
         @rpath/libClangdXPCLib.dylib (compatibility version 0.0.0, current
 version 0.0.0)
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libc++.1.0.dylib:
         @rpath/libc++.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
 /opt/local/libexec/llvm-16/lib/libc++.1.dylib:
         @rpath/libc++.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
 /opt/local/libexec/llvm-16/lib/libc++.dylib:
         @rpath/libc++.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
 /opt/local/libexec/llvm-16/lib/libc++abi.1.0.dylib:
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libc++abi.1.dylib:
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libc++abi.dylib:
         @rpath/libc++abi.1.dylib (compatibility version 1.0.0, current
 version 1.0.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /opt/local/libexec/llvm-16/lib/libclang-cpp.dylib:
         @rpath/libclang-cpp.dylib (compatibility version 0.0.0, current
 version 0.0.0)
 /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
 (compatibility version 1.0.0, current version 1228.0.0)
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
 (compatibility version 150.0.0, current version 1971.0.0)
 /opt/local/libexec/llvm-16/lib/libclang.dylib:
         @rpath/libclang.dylib (compatibility version 1.0.0, current
 version 16.0.6)
         @rpath/libLLVM.dylib (compatibility version 1.0.0, current version
 16.0.6)
         /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current
 version 1500.65.0)
         /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
 version 1319.100.3)
 }}}

 perhaps this commit here is culprit:

 https://github.com/llvm/llvm-
 project/commit/b98da4c71edda3df0a0555b1ab63ec52e92252b4

-- 
Ticket URL: <https://trac.macports.org/ticket/67686#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list