[MacPorts] #62242: boost @1.71.0_3: needs cxa_thread_atexit (thread local support in libc++/libc++abi) on < 10.7

MacPorts noreply at macports.org
Mon Feb 8 17:20:32 UTC 2021


#62242: boost @1.71.0_3: needs cxa_thread_atexit (thread local support in
libc++/libc++abi) on < 10.7
----------------------------+----------------------
  Reporter:  kencu          |      Owner:  kencu
      Type:  defect         |     Status:  assigned
  Priority:  Normal         |  Milestone:
 Component:  ports          |    Version:
Resolution:                 |   Keywords:
      Port:  boost lilbcxx  |
----------------------------+----------------------
Description changed by kencu:

Old description:

> the buildbot has the non-thread-local-enabled version of libcxx
> installed, and so
> [https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/47219/steps
> /install-port/logs/stdio boost fails]:
>
> {{{
> Undefined symbols for architecture x86_64:
>   "___cxa_thread_atexit", referenced from:
>       boost::context::detail::ecv1_activation_record::current() in
> execution_context.o
> boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
> in execution_context.o
> boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
> in execution_context.o
> boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
> in execution_context.o
> boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
> in execution_context.o
>       boost::context::v1::execution_context::current() in
> execution_context.o
> ld: symbol(s) not found for architecture x86_64
> }}}
>
> I never see this error, as hopefully most users never see it, as they
> have manually upgrade libcxx to the +thread_local variant.
>
> This ticket really has nothing to do with boost, just leaving it here in
> case anyone goes looking for the reason boost is failing.
>
> I'll assign it to me, as there is nothing (I believe) fro the boost
> maintainer to do here... unless there is a simple toggle to turn off
> thread_local support in c++ on boost, in which case we could turn it off
> manually (sigh).

New description:

 the buildbot has the non-thread-local-enabled version of libcxx installed,
 and so
 [https://build.macports.org/builders/ports-10.6_x86_64-builder/builds/47219/steps
 /install-port/logs/stdio boost fails]:

 {{{
 Undefined symbols for architecture x86_64:
   "___cxa_thread_atexit", referenced from:
       boost::context::detail::ecv1_activation_record::current() in
 execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
 in execution_context.o
 boost::context::detail::ecv1_activation_record_initializer::~ecv1_activation_record_initializer()
 in execution_context.o
       boost::context::v1::execution_context::current() in
 execution_context.o
 ld: symbol(s) not found for architecture x86_64
 }}}

 I never see this error, as hopefully most users never see it, as they have
 manually upgraded libcxx to the +thread_local variant.

 This ticket really has nothing to do with boost, just leaving it here in
 case anyone goes looking for the reason boost is failing.

 I'll assign it to me, as there is nothing (I believe) fro the boost
 maintainer to do here... unless there is a simple toggle to turn off
 thread_local support in c++ on boost, in which case we could turn it off
 manually (sigh).

--

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


More information about the macports-tickets mailing list