Opened 3 years ago
Last modified 3 years ago
#63378 assigned defect
llvm-3.3: still linked against old libffi
Reported by: | mrkapqa | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | toolchain | Cc: | jeremyhu (Jeremy Huddleston Sequoia), cooljeanius (Eric Gallager), mascguy (Christopher Nielsen) |
Port: | llvm |
Description (last modified by kencu (Ken))
hello,
on leopard ppc 10.5.8
wget fails to build with error
Failed to build legacy-support: command execution failed
thank you
Attachments (1)
Change History (15)
Changed 3 years ago by mrkapqa
comment:1 Changed 3 years ago by reneeotten (Renee Otten)
Cc: | cjones051073 added |
---|---|
Description: | modified (diff) |
Keywords: | wget legacy-support removed |
Owner: | set to kencu |
Port: | legacy-support added; wget removed |
Status: | new → assigned |
Summary: | (10.5.8) wget > Failed to build legacy-support: command execution failed → legacy-support: build failure on 10.5.8 |
comment:2 Changed 3 years ago by kencu (Ken)
Cc: | cjones051073 removed |
---|---|
Description: | modified (diff) |
Keywords: | wget legacy-support added |
Port: | wget added; legacy-support removed |
Summary: | legacy-support: build failure on 10.5.8 → (10.5.8) wget > Failed to build legacy-support: command execution failed |
here is your issue:
125 :info:build dyld: Library not loaded: /opt/local/lib/libffi.6.dylib 126 :info:build Referenced from: /opt/local/libexec/llvm-3.3/lib/libLTO.dylib 127 :info:build Reason: image not found
I assume you have libffi installed. That was updated and the library name changed.
So - to fix this properly you'll need to rebuild llvm-3.3 against the new libffi. Uninstall llvm-3.3 and then reinstall it.
To fix this for the moment you could make a symlink from the new libffi name to the old libffi name. Just do the right fix as soon as you have a moment.
comment:4 Changed 3 years ago by kencu (Ken)
Cc: | jeremyhu added |
---|---|
Keywords: | wget legacy-support leopard removed |
Port: | llvm-3.3 added; wget removed |
Summary: | (10.5.8) wget > Failed to build legacy-support: command execution failed → llvm-3.3: still linked against old libffi |
comment:5 Changed 3 years ago by kencu (Ken)
llvm-3.3 was already revbumped for the libffi update, so presumably you picked up an older version or in some way have a local disconnect.
ie there is nothing to fix in the ports tree.
comment:6 Changed 3 years ago by cooljeanius (Eric Gallager)
Cc: | cooljeanius added |
---|
comment:7 Changed 3 years ago by kencu (Ken)
Owner: | changed from kencu to macports-tickets@… |
---|
comment:8 Changed 3 years ago by mascguy (Christopher Nielsen)
Cc: | mascguy added |
---|
comment:10 Changed 3 years ago by mascguy (Christopher Nielsen)
Perhaps all foundational toolchain components should be updated to reference ${prefix}/lib/libffi.dylib
?
Even if it's necessary to do it after-the-fact via install_name_tool
- and perhaps that would be easier than changing configure/build options - it needs to be done.
Alternatively, link against the static lib, assuming there aren't any technical barriers to doing that. Or use a different libffi
port, dedicated to LLVM and friends. libffi-bootstrap
perhaps?
comment:11 follow-up: 12 Changed 3 years ago by Christopher Nielsen <mascguy@…>
comment:12 Changed 3 years ago by mascguy (Christopher Nielsen)
libffi: symlink via prev major version
- Absolutely critical, to avoid temporary toolchain breakage
This fix will eliminate future carnage. However, leaving this ticket open; ultimately the toolchain needs to be insulated from our general libffi
port.
comment:13 Changed 3 years ago by mascguy (Christopher Nielsen)
Keywords: | toolchain added |
---|---|
Port: | llvm added; llvm-3.3 removed |
Summary: | llvm-3.3: still linked against old libffi → macports toolchain: isolate from general libffi port, to prevent breakage on upgrade [llvm-3.3: still linked against old libffi] |
comment:14 Changed 3 years ago by mascguy (Christopher Nielsen)
Summary: | macports toolchain: isolate from general libffi port, to prevent breakage on upgrade [llvm-3.3: still linked against old libffi] → llvm-3.3: still linked against old libffi |
---|
Folks, my apologies for muddying the waters on this. Per the insights from Josh and Ken, this isn't a big deal: Generally it's a simple matter of ports opportunistically utilizing toolchain components - particularly from cctools
- without declaring a proper build dependency. But when the latter is corrected, such as with ffmpeg
(issue:63443), there's no longer an issue.
Net-Net, please disregard my previous comments regarding the concern surrounding this: Yours Truly didn't have a complete understanding of the end-to-end details, and I blew this way out of proportion.
the error appears to be