[MacPorts] #53299: clang sanitizer libraries have incorrect dylib id

MacPorts noreply at macports.org
Thu Nov 23 06:17:45 UTC 2017


#53299: clang sanitizer libraries have incorrect dylib id
--------------------------------------------+----------------------
  Reporter:  akimd                          |      Owner:  jeremyhu
      Type:  defect                         |     Status:  assigned
  Priority:  Normal                         |  Milestone:
 Component:  ports                          |    Version:  2.3.5
Resolution:                                 |   Keywords:
      Port:  clang-3.9 clang-4.0 clang-5.0  |
--------------------------------------------+----------------------

Comment (by kencu):

 If I'm understanding it correctly, the broken install names wind up here:
 {{{
 build/projects/compiler-
 rt/lib/asan/CMakeFiles/clang_rt.asan_osx_dynamic.dir/link.txt
 build/projects/compiler-
 rt/lib/lsan/CMakeFiles/clang_rt.lsan_osx_dynamic.dir/link.txt
 build/projects/compiler-
 rt/lib/tsan/CMakeFiles/clang_rt.tsan_osx_dynamic.dir/link.txt
 build/projects/compiler-
 rt/lib/ubsan/CMakeFiles/clang_rt.ubsan_osx_dynamic.dir/link.txt
 build/projects/compiler-
 rt/lib/stats/CMakeFiles/clang_rt.stats_osx_dynamic.dir/link.txt
 }}}
 eg
 {{{
 /usr/bin/clang++ -pipe -Os -std=c++11 -stdlib=libc++ -fPIC -fvisibility-
 inlines-hidden -Werror=date-time -std=c++11 -Wall -W -Wno-unused-parameter
 -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-
 long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-
 virtual-dtor -Wstring-conversion -Wall -std=c++11 -Wno-unused-parameter
 -DNDEBUG -arch x86_64 -arch x86_64h -dynamiclib
 -Wl,-headerpad_max_install_names  -stdlib=libc++ -lc++ -lc++abi
 -fapplication-extension -mmacosx-version-min=10.9 -isysroot
 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk
 -Wl,-U,___ubsan_default_options -Wl,-U,___sanitizer_free_hook
 -Wl,-U,___sanitizer_malloc_hook -Wl,-U,___sanitizer_report_error_summary
 -Wl,-U,___sanitizer_sandbox_on_notify -Wl,-U,___sanitizer_symbolize_code
 -Wl,-U,___sanitizer_symbolize_data -Wl,-U,___sanitizer_symbolize_demangle
 -Wl,-U,___sanitizer_symbolize_flush -L/opt/local/lib
 -Wl,-headerpad_max_install_names -o
 ../../../../lib/clang/5.0.0/lib/darwin/libclang_rt.tsan_osx_dynamic.dylib
 -install_name
 /opt/local/libexec/llvm-5.0/lib/libclang_rt.tsan_osx_dynamic.dylib
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_clock.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_debugging.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_external.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_fd.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_flags.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_ignoreset.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interceptors.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interface.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interface_ann.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interface_atomic.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interface_java.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_malloc_mac.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_md5.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_mman.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_mutex.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_mutexset.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_preinit.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_report.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_mutex.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_proc.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_report.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_thread.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_stack_trace.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_stat.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_suppressions.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_symbolize.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_sync.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_interceptors_mac.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_libdispatch_mac.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_platform_mac.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_platform_posix.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_new_delete.cc.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_amd64.S.o
 CMakeFiles/clang_rt.tsan_osx_dynamic.dir/rtl/tsan_rtl_aarch64.S.o
 ../interception/CMakeFiles/RTInterception.osx.dir/interception_linux.cc.o
 ../interception/CMakeFiles/RTInterception.osx.dir/interception_mac.cc.o
 ../interception/CMakeFiles/RTInterception.osx.dir/interception_win.cc.o
 ../interception/CMakeFiles/RTInterception.osx.dir/interception_type_test.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_allocator.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_common.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_deadlock_detector1.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_deadlock_detector2.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_errno.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_flags.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_flag_parser.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_libc.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_libignore.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_linux.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_linux_s390.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_mac.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_persistent_allocator.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_platform_limits_linux.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_platform_limits_posix.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_posix.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_printf.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_procmaps_common.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_procmaps_freebsd.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_procmaps_linux.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_procmaps_mac.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_stackdepot.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_stacktrace.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_stacktrace_printer.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_stoptheworld_mac.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_suppressions.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_symbolizer.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_symbolizer_libbacktrace.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_symbolizer_mac.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_symbolizer_win.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_tls_get_addr.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_thread_registry.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_win.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommon.osx.dir/sanitizer_termination.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_common_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sancov_flags.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_coverage_libcdep_new.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_coverage_win_sections.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_linux_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_mac_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_posix_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_stacktrace_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_stoptheworld_linux_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_symbolizer_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_symbolizer_posix_libcdep.cc.o
 ../sanitizer_common/CMakeFiles/RTSanitizerCommonLibc.osx.dir/sanitizer_unwind_linux_libcdep.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_diag.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_init.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_flags.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_handlers.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_value.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_handlers_cxx.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_type_hash.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_type_hash_itanium.cc.o
 ../ubsan/CMakeFiles/RTUbsan.osx.dir/ubsan_type_hash_win.cc.o
 -Wl,-rpath,/opt/local/libexec/llvm-5.0/lib
 }}}

 with the install names set like this:
 {{{
 -install_name
 /opt/local/libexec/llvm-5.0/lib/libclang_rt.tsan_osx_dynamic.dylib
 }}}
 and the rpaths like this:
 {{{
 -Wl,-rpath,/opt/local/libexec/llvm-5.0/lib
 }}}

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


More information about the macports-tickets mailing list