Opened 3 years ago

Closed 3 years ago

#62242 closed defect (fixed)

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

Reported by: kencu (Ken) Owned by: kencu (Ken)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: michaelld (Michael Dickens)
Port: boost libcxx

Description (last modified by kencu (Ken))

the buildbot has the non-thread-local-enabled version of libcxx installed, and so 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).

Change History (3)

comment:1 Changed 3 years ago by kencu (Ken)

Description: modified (diff)

comment:2 Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Port: libcxx added; lilbcxx removed

There have been several other tickets of this nature, like #59556. The main ticket for the issue is #58898.

Last edited 3 years ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:3 Changed 3 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In 3368d0de6f7822f85ca68548e5294fef716966ba/macports-ports (master):

boost: force thread_local off on < 10.7

libcxxabi installed on the buildbot does not have
cxa_thread_atexit so until this is fixed we must
disable thread_local on < 10.7

closes: #62242

Note: See TracTickets for help on using tickets.