Opened 3 months ago

Last modified 3 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)

gcc_build.log (365.1 KB) - added by rmottola (Riccardo) 3 months ago.
gcc 7 build log
clang_build.log (500.9 KB) - added by rmottola (Riccardo) 3 months ago.
clang build log TLS error

Download all attachments as: .zip

Change History (7)

Changed 3 months ago by rmottola (Riccardo)

Attachment: gcc_build.log added

gcc 7 build log

comment:1 Changed 3 months ago by rmottola (Riccardo)

Description: modified (diff)

Changed 3 months ago by rmottola (Riccardo)

Attachment: clang_build.log added

clang build log TLS error

comment:2 Changed 3 months ago by rmottola (Riccardo)

Keywords: tls added
Version: 2.9.1

comment:3 in reply to:  description Changed 3 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 3 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 3 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.

Note: See TracTickets for help on using tickets.