#53784 closed defect (fixed)
Add support for tapi-tbd-v2
Reported by: | jtalle | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | larryv (Lawrence Velázquez), cjones051073 (Chris Jones), josephwinston (Joseph Winston) | |
Port: | ld64-latest |
Description
Attempted to use 'sudo port install clang-3.7' and received an error.
Attaching log file.
Attachments (1)
Change History (23)
Changed 8 years ago by jtalle
comment:1 Changed 8 years ago by jtalle
comment:2 Changed 8 years ago by mf2k (Frank Schima)
Cc: | larryv added |
---|---|
Owner: | set to jeremyhu |
Port: | clang-3.7 added |
Status: | new → assigned |
In the future, please fill in the Port field and Cc the port maintainers (port info --maintainers clang-3.7
), if any.
comment:3 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Port: | ld64-latest added; clang-3.7 removed |
---|---|
Summary: | clang-3.7 fail → Add support for tapi-tbd-v2 |
:info:build ld: unexpected token: !tapi-tbd-v2 file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib/libc++abi.tbd' for architecture x86_64
Please use the +ld64-latest variant of ld64.
comment:4 Changed 8 years ago by jeremyhu (Jeremy Huddleston Sequoia)
I started working on this a few weeks ago, but I didn't finish it. If someone wants to pick up where I left off, see https://github.com/jeremyhu/macports-ports/commits/tapi-v2
The trouble is that the tapi drop from Apple doesn't work with OSS llvm (at least not the versions I tried 3.7-devel at the time). We will likely want to instead create a libtapi port which pulls in the version of llvm that Apple released from that same version of Xcode.
comment:5 Changed 7 years ago by cjones051073 (Chris Jones)
Cc: | cjones051073 added |
---|
comment:6 Changed 7 years ago by josephwinston (Joseph Winston)
Cc: | josephwinston added |
---|
comment:7 Changed 7 years ago by gaming-hacker (G Alexander)
what's the status on this? it still doesn't work with llvm5 or llvm6
ld: unexpected token: !tapi-tbd-v2 file '/System/Library/Frameworks//AudioToolbox.framework/AudioToolbox.tbd' for architecture x86_64
comment:8 follow-up: 9 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
I understand your frustration, but it's simply not a priority for me. If it's hindering you, just install the +ld64_xcode variant of ld64 until it is addressed.
comment:9 Changed 6 years ago by sunoterra (Michael Stilson)
Replying to jeremyhu:
I understand your frustration, but it's simply not a priority for me. If it's hindering you, just install the +ld64_xcode variant of ld64 until it is addressed.
nice! building ld64 with that variant solves all kinds of build/link errors that have been popping up lately, on 10.11.x systems.
thanks @jeremyhu 🖖
comment:10 Changed 6 years ago by ken-cunningham-webuse
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:11 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Reopening. This hasn't been fixed. This tracks adding support, not deferring to Xcode.
comment:12 Changed 6 years ago by kencu (Ken)
Thanks -- I was going to reopen it myself, as I know you meant for this to track adding tapi support to ld64.
comment:13 Changed 6 years ago by kencu (Ken)
BTW -- one of your Apple colleagues has put on GitHub what appears to be a nice-looking tapi drop that looks as though it would build in the clang / llvm mix as an additional project. I'm sure you already knew this:
<https://github.com/ributzka/tapi>
Edit:
So that has been made into an easy-to-build project <https://github.com/tpoechtrager/apple-libtapi/tree/2.0.0> however, it is incomplete, and actually segfaults when used. It seems that certain parts are not yet implemented in the github released version <https://github.com/tpoechtrager/apple-libtapi/blob/2.0.0/src/llvm/projects/libtapi/lib/Core/MachODylibReader.cpp> and so it appears we continue to await an official Apple drop of tapi 2.0.0 with tapi-v3 support in it.
Given this, I'll stop trying to make this happen until something comes down from above, which is where I'm sure you are with this as well.
comment:14 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Yeah, that drop isn't compatible with OSS llvm mainline. It was based on an Apple fork, and hasn't been updated for mainline, which is part of the problem.
comment:15 Changed 6 years ago by kencu (Ken)
comment:16 Changed 5 years ago by kencu (Ken)
See <https://github.com/macports/macports-ports/pull/6160> for a start on adding TAPI.
comment:17 Changed 5 years ago by ken-cunningham-webuse
comment:18 Changed 5 years ago by kencu (Ken)
With libtapi
and two small modifications to our current ld64-latest
port (deleting the patchfile that disabled tapi
and adding -ltapi
to the ld
Makefile line), the current ld64-latest
port seems to handle the *.tbd
files in the MacOS10.14.sdk
without any trouble, on 10.13 so far.
So that is a step in the right direction. I will ponder what to do next here, but I think perhaps spinning off ld64-latest
into ld64-274
might make sense, as it would be the last ld64
we have that does not require tapi
, and then we can make a new ld64-latest
that hopefully is up to date with the latest version available.
This is a bit tricky, but there are several internet projects out there that have made some headway on this already to use as a guide for patches, and perhaps once we get something worth looking at, Jeremy might have some input.
comment:19 Changed 5 years ago by kencu (Ken)
see <https://github.com/macports/macports-ports/pull/6223> for the WIP on the new ld64-latest...
comment:20 Changed 5 years ago by kencu (Ken)
I have ld64 @450 building now -- that is the latest available, and so should update the port shortly.
comment:21 Changed 5 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:22 Changed 4 years ago by ken-cunningham-webuse
In 358bba9ebfd25dd2e78bc961e63c720de6caf27d/macports-ports (dar, master, py38-reproject, revert-6945-rust-1.43.0, wireshark):
the logfile was > 10mb. Created a txt file with the tail end of the log and attached it.