Opened 3 weeks ago

Last modified 3 weeks ago

#70067 new defect

xdispatch2: undefined symbols for architecture on macOS 10.7 and 10.8

Reported by: aeiouaeiouaeiouaeiouaeiouaeiou Owned by:
Priority: Normal Milestone:
Component: ports Version:
Keywords: lion, mountainlion Cc:
Port: xdispatch2

Description

Last change fixed the compilation, but on 10.7/10.8 the linker crashes with this error:

Undefined symbols for architecture x86_64:
  "std::__1::__get_sp_mut(void const*)", referenced from:
      __ZNSt3__111atomic_loadB7v160006IN9xdispatch5naive10consumableEEENS_10shared_ptrIT_EEPKS6_ in naive_group.cpp.o
      __ZNSt3__130atomic_compare_exchange_strongB7v160006IN9xdispatch5naive10consumableEEEbPNS_10shared_ptrIT_EES7_S6_ in naive_group.cpp.o
  "std::__1::__sp_mut::lock()", referenced from:
      __ZNSt3__111atomic_loadB7v160006IN9xdispatch5naive10consumableEEENS_10shared_ptrIT_EEPKS6_ in naive_group.cpp.o
      __ZNSt3__130atomic_compare_exchange_strongB7v160006IN9xdispatch5naive10consumableEEEbPNS_10shared_ptrIT_EES7_S6_ in naive_group.cpp.o
  "std::__1::__sp_mut::unlock()", referenced from:
      __ZNSt3__111atomic_loadB7v160006IN9xdispatch5naive10consumableEEENS_10shared_ptrIT_EEPKS6_ in naive_group.cpp.o
      __ZNSt3__130atomic_compare_exchange_strongB7v160006IN9xdispatch5naive10consumableEEEbPNS_10shared_ptrIT_EES7_S6_ in naive_group.cpp.o
ld: symbol(s) not found for architecture x86_64

I don't know if legacysupport.use_mp_libcxx needs to be added, and I can't test it on those systems.

Change History (1)

comment:1 in reply to:  description Changed 3 weeks ago by ryandesign (Ryan Carsten Schmidt)

Replying to aeiouaeiouaeiouaeiouaeiouaeiou:

Last change fixed the compilation, but on 10.7/10.8 the linker crashes with this error:

The linker does not crash; it just emits an error.

  "std::__1::__get_sp_mut(void const*)", referenced from:

I don't know if legacysupport.use_mp_libcxx needs to be added, and I can't test it on those systems.

Searching for this symbol, this page says "this was added to libc++ after 10.8 shipped, so it’s not in the dylib in /usr/lib". If that's true, then using a newer MacPorts libc++ would fix it.

Note: See TracTickets for help on using tickets.