Opened 4 years ago
Closed 4 years ago
#60816 closed defect (duplicate)
openal-soft build failure on libc++ SnowLeopard: requires cxa_thread_atexit to support thread_local_storage
Reported by: | programmingkidx | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.2 |
Keywords: | Cc: | programmingkidx | |
Port: | libcxx |
Description
openal-soft fails to build. This is what I saw in the log:
:info:build Undefined symbols for architecture x86_64: :info:build "___cxa_thread_atexit", referenced from: :info:build ALCcontext::deinit() in alc.cpp.o :info:build GetContextRef() in alc.cpp.o :info:build _alcGetCurrentContext in alc.cpp.o :info:build _alcGetThreadContext in alc.cpp.o :info:build _alcMakeContextCurrent in alc.cpp.o :info:build _alcSetThreadContext in alc.cpp.o :info:build ld: symbol(s) not found for architecture x86_64 :info:build clang: error: linker command failed with exit code 1 (use -v to see invocation) :info:build make[2]: *** [libopenal.1.20.1.dylib] Error 1
I am using Mac OS 10.6.8.
Attachments (1)
Change History (12)
Changed 4 years ago by programmingkidx
comment:1 Changed 4 years ago by programmingkidx
Owner: | set to ryandesign |
---|---|
Status: | new → assigned |
comment:2 Changed 4 years ago by programmingkidx
Cc: | programmingkidx added |
---|
comment:3 Changed 4 years ago by kencu (Ken)
comment:4 Changed 4 years ago by kencu (Ken)
Owner: | changed from ryandesign to kencu |
---|
comment:5 Changed 4 years ago by kencu (Ken)
Port: | libcxx added; openal-soft removed |
---|
comment:6 Changed 4 years ago by kencu (Ken)
I change the issue to where it really exists, which is this 58898
comment:7 Changed 4 years ago by kencu (Ken)
Summary: | openal-soft build failure - undefined symbols → openal-soft build failure on libc++ SnowLeopard: requires cxa_thread_atexit to support thread_local_storage |
---|
comment:8 Changed 4 years ago by programmingkidx
Thank you as always Ken. When I ran "sudo port -v -n upgrade --force --enforce-variants libcxx +emulated_tls", it looked like everything was done but I did see this error:
---> Cleaning libcxx ---> Removing work directory for libcxx Error: Failed to deactivate libcxx: Active version of libcxx is not 5.0.1_4+emulated_tls+universal but 5.0.1_4+universal. Error: See /opt/local/var/macports/logs/_opt_local_var_macports_registry_portfiles_libcxx-5.0.1_4_e6b71a845b47632b5346ce1f40226b037a4c3335c29ff89a6531bc3db10d7db1-10493/libcxx/main.log for details. Warning: Failed to execute portfile from registry for libcxx @5.0.1_4+universal ---> Deactivating libcxx @5.0.1_4+universal ---> Activating libcxx @5.0.1_4+emulated_tls+universal x ./
comment:9 Changed 4 years ago by programmingkidx
Your instruction worked :)
Openal-soft installed. I suggest having this port try to determine if the correct version of libcxx is being used.
comment:10 Changed 4 years ago by kencu (Ken)
I'd prefer to fix the libcxx port to just install the full version by default, but this is proving somewhat complicated to automate for the buildbot.
Downloading and installing a prebuilt fully-functional libcxx binary is an easy way around that issue, but goes against the ZEN of MacPorts.
comment:11 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → duplicate |
---|---|
Status: | assigned → closed |
So I'll close this since it's a libcxx bootstrapping problem about which we already have a ticket.
please do these steps LibcxxOnOlderSystems#SnowLeopard to upgrade your toolchain to the state-of-the-art, and in particular this step to fix your current error: