Opened 6 years ago
Closed 6 years ago
#56944 closed defect (fixed)
Error: Failed to build ld64-127: command execution failed
Reported by: | mrkapqa | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.3 |
Keywords: | Cc: | cjones051073 (Chris Jones) | |
Port: | ld64-127 |
Description (last modified by mf2k (Frank Schima))
Hello ,
i tried to follow your guide here
on point 4
sudo port -v install clang-3.7
i get error message
make: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ld64/ld64-127/work/ld64-127.2' Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ld64/ld64-127/work/ld64-127.2" && /usr/bin/make -j9 -w all CC="/opt/local/bin/clang-mp-3.4" CXX="/opt/local/bin/clang++-mp-3.4" OTHER_CPPFLAGS="-I/opt/local/include -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ld64/ld64-127/work/dyld-421.2/include" OTHER_CFLAGS="-Os -arch x86_64" OTHER_CXXFLAGS="-Os -stdlib=libc++ -stdlib=libc++ -arch x86_64" OTHER_LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names -lc++abi -stdlib=libc++ -arch x86_64" LLVM_CONFIG=/opt/local/bin/llvm-config-mp-3.4 Exit code: 2 Error: Failed to build ld64-127: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_ld64/ld64-127/main.log for details. Error: rev-upgrade failed: Error rebuilding ld64-127
Thank you
Attachments (1)
Change History (15)
Changed 6 years ago by mrkapqa
comment:1 Changed 6 years ago by kencu (Ken)
Keywords: | libcc++ clang-3.7 llvm-3.4 removed |
---|---|
Owner: | set to jeremyhu |
Port: | ld64-127 added; clang-3.7 removed |
Status: | new → assigned |
Summary: | (Clang-3.7)(10.6.8 - xcode 4.2 for snow leopard) Error: Failed to build ld64-127: command execution failed → Error: Failed to build ld64-127: command execution failed |
comment:2 Changed 6 years ago by kencu (Ken)
Description: | modified (diff) |
---|
comment:3 Changed 6 years ago by kencu (Ken)
comment:4 Changed 6 years ago by mrkapqa
I tried to install Waterfox Browser 52 on Snow Leopard, which complained of missing libc++.1. library, and crashes
Dyld Error Message:
Symbol not found: _strndup Referenced from: /Applications/Waterfox.app/Contents/MacOS/libmozglue.dylib Expected in: /usr/lib/libSystem.B.dylib
in /Applications/Waterfox.app/Contents/MacOS/libmozglue.dylib
so i tried with Macports to overcome,
and probably during the process i tried also to install Homebrew (which failed miserably due to curl-issue) and installed Git manually , maybe this could have evoked an error?
comment:5 Changed 6 years ago by kencu (Ken)
Ah. Well, cleaning all this up might be a project.
In your case, you would have been OK to just
sudo port -v install libcxx
and it would have installed /usr/lib/libc++.dylib
for you and solved the missing library issue. However, I doubt the browser would have worked anyway as it sounds like it's built against 10.7
.
For right now today, the best browser for 10.6 is (IMHO) Firefox 45.9.0 ESR, which you can get right here in many languages <https://ftp.mozilla.org/pub/firefox/releases/45.9.0esr/mac/>.
That is the last Firefox available for 10.6.8
, and works pretty well, although it is not up to date with security features.
Several of us are working to bring TenFourFox
to older Intel systems. We have it building and running now, and it is fully up to date with security fixes. It is not quite ready for general use just now.
comment:6 Changed 6 years ago by mrkapqa
Thank you Kencu,
if i remember correctly i tried that already before but that did not completely solve the issue so i thought it might be worth a try to test the long road.
i do use firefox 45 esr on my system , but it is sometimes a bit outdated (example: twitter). on lion 10.7 i can use waterfox 56.2 , which is otherwise also limited to firefox 45 esr.
it seems on 10.6.8 i am stuck then for now with firefox and waterfox 48 (which opens correctly). actually, safari is best on 10.6.8 in terms of speed, but fails quite often to open pages due to security isseus i think.
I use Tenfourfox 17 (with plugins) and Tenfourfox latest quite regularly . it would be great if it be possible to make it also available in a docker-like format, so that when one has 2 versions of tenfourfox installed , say 17 and a newer, the can run independently, otherwise it is a bit complicated with the plugins and add-ons which tend to update themselves or get deactivated.
comment:7 Changed 6 years ago by cjones051073 (Chris Jones)
Cc: | cjones051073 added |
---|
comment:8 Changed 6 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:9 Changed 6 years ago by snunez1 (Steve Nunez)
I just went through the same process and can add a bit to this report. In addition to WaterFox, I sense that going forward long term maintenance is going to require a lot of self compiling, and having an update to date toolchain will really be welcome. Somethings, like Boost, require it. I am happy to help test. Fixing is probably beyond my abilities, but happy to help in any way I can.
Here is what happened:
After building clang 3.7 (step 4), I get this:
---> Cleaning clang-3.7 ---> Removing work directory for clang-3.7 ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. ncurses is using libstdc++ (this installation is configured to use libc++) llvm-3.4 is using libstdc++ (this installation is configured to use libc++) ld64-127 is using libstdc++ (this installation is configured to use libc++) gettext is using libstdc++ (this installation is configured to use libc++) db48 is using libstdc++ (this installation is configured to use libc++) clang-3.4 is using libstdc++ (this installation is configured to use libc++) cctools is using libstdc++ (this installation is configured to use libc++) ---> Found 7 broken ports, determining rebuild order You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: db48 @4.8.30+java ncurses @6.1 gettext @0.19.8.1 llvm-3.4 @3.4.2 ld64-127 @127.2+llvm34 clang-3.4 @3.4.2+analyzer cctools @895+llvm34 Continue? [Y/n]:
Answered 'no' and continued with steps 5, 6 and 7. After a long while:
ncurses is using libstdc++ (this installation is configured to use libc++) llvm-3.4 is using libstdc++ (this installation is configured to use libc++) ld64-127 is using libstdc++ (this installation is configured to use libc++) gettext is using libstdc++ (this installation is configured to use libc++) db48 is using libstdc++ (this installation is configured to use libc++) clang-3.4 is using libstdc++ (this installation is configured to use libc++) ---> Found 6 broken ports, determining rebuild order You can always run 'port rev-upgrade' again to fix errors. The following ports will be rebuilt: db48 @4.8.30+java ncurses @6.1 gettext @0.19.8.1 llvm-3.4 @3.4.2 ld64-127 @127.2+llvm34 clang-3.4 @3.4.2+analyzer Continue? [Y/n]:
Saying 'no' here and picking up with the rest of step 6 brings us right back to the error. Trying the rev-upgrade results in:
---> Cleaning ncurses ---> Removing work directory for ncurses ---> Computing dependencies for llvm-3.4. ---> Cleaning llvm-3.4 ---> Removing work directory for llvm-3.4 Error: ld64: Variant llvm39 conflicts with llvm34 Error: Unable to open port: Error evaluating variants Error: rev-upgrade failed: Error rebuilding ld64-127 Error: Follow https://guide.macports.org/#project.tickets to report a bug.
I also tried 'yes' at the prompts and got the same errors.
comment:10 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
What is your variants.plist? In step 5, you should have added -llvm34
What do you mean by "After a long while:" after completing step 6? Steps 5 & 6 doesn't have you do anything other than edit those files.
Step 7 has you install cctools and ld64 with the +llvm39 -llvm34 variants explicitly specified.
So it's not clear what you are doing between step 6 and step 7 that accounts for that "After a long while:", but you should just do step 7 after step 6 to address that error.
Disable revdep rebuild while you do this.
comment:11 Changed 6 years ago by snunez1 (Steve Nunez)
I have just updated the sequence I followed for clarity.
The build has succeeded. The key was your comment 'disable revdep'. It took me a while to understand what that might mean. In the end I kept answering 'no' to any 'rev-upgrade' questions and, eventually, everything succeeded.
It might be useful to mention this in the wiki page, or add an option to the 'port install' command, if there is one, to disable rev-upgrade.
comment:12 Changed 6 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Owner: | changed from jeremyhu to kencu |
---|
Over to Ken, since he's a bit more up on this than I am these days. Sounds like the docs just need to be updated to reflect changes over the past couple years.
comment:13 Changed 6 years ago by kencu (Ken)
I think the thing to do is add a small step early in the instructions to turn off rev-upgrade
in macports.conf
during the build:
revupgrade_autorun no
and then turn it back on at the end of the process.
comment:14 Changed 6 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
So this looks like it happens during a
rev-upgrade
for some reason. Can you tell me (or show me) what happenned just before this, to trigger thatrev-upgrade
event?Usually something would have been installed, then some inconsistency found (like a
stdlib
mismatch for example) to trigger the rebuild.