Opened 9 months ago
Last modified 9 months ago
#69375 new defect
libtapi fails to build on 10.5 Leopard
Reported by: | rmottola (Riccardo) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.1 |
Keywords: | leopard tls | Cc: | |
Port: | libtapi |
Description (last modified by rmottola (Riccardo))
I tried building both with clang and gcc.
With gcc I don't even find the error, there are many warnings.
Clang dies with unsupported thread-local-storage
ac40267aa5f6004dd38cc2b2cd84f2d9d555/src/llvm/lib/Support/TimeProfiler.cpp:36:8: error: thread-local storage is not supported for the current target static LLVM_THREAD_LOCAL TimeTraceProfiler *TimeTraceProfilerInstance = nullptr;
I think gcc7 has TLS, I remember Ken adding it?
Attachments (2)
Change History (7)
Changed 9 months ago by rmottola (Riccardo)
Attachment: | gcc_build.log added |
---|
comment:1 Changed 9 months ago by rmottola (Riccardo)
Description: | modified (diff) |
---|
Changed 9 months ago by rmottola (Riccardo)
Attachment: | clang_build.log added |
---|
clang build log TLS error
comment:2 Changed 9 months ago by rmottola (Riccardo)
Keywords: | tls added |
---|---|
Version: | → 2.9.1 |
comment:3 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to rmottola:
With gcc I don't even find the error, there are many warnings.
The error in the gcc log is:
:info:build /Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o malformed object (unknown load command 1) :info:build /Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/ItaniumDemangle.cpp.o malformed object (unknown load command 1) :info:build /Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/MicrosoftDemangle.cpp.o malformed object (unknown load command 1) :info:build /Developer/usr/bin/libtool: object: CMakeFiles/LLVMDemangle.dir/MicrosoftDemangleNodes.cpp.o malformed object (unknown load command 1) :info:build make[3]: *** [lib/libLLVMDemangle.a] Error 1 :info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_libtapi/libtapi/work/build' :info:build make[2]: *** [lib/Demangle/CMakeFiles/LLVMDemangle.dir/all] Error 2 :info:build make[2]: *** Waiting for unfinished jobs....
This may mean that /Developer/usr/bin/libtool is too old and you may need a newer version of Apple's libtool from the cctools port.
comment:4 Changed 9 months ago by rmottola (Riccardo)
@ryandesign
cctools @921_0 cctools @921_1 cctools @921_2 cctools @921_3 cctools @921_4 cctools @927.0.2_2 cctools @927.0.2_5 cctools @949.0.1_0 cctools @949.0.1_1 cctools @949.0.1_2 cctools @949.0.1_3 (active)
Should this version of cctools be fine? DO I need to tell the port to actually use it and how?
comment:5 Changed 9 months ago by kencu (Ken)
Riccardo — it’s much the same issue as what we do with NM and some other tools on Leopard.
You just need to find a way to force the newer tools you want, with an environment variable often.
It might be a newer libtool that needs forcing….or maybe some tool libtool is using, perhaps even NM again.
Have to try various things.
One way or another, every tool can be forced.
gcc 7 build log