#57155 closed defect (fixed)
clang-3.4 seg fault building ld64-127
Reported by: | cheongi | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.5.3 |
Keywords: | Cc: | larryv (Lawrence Velázquez) | |
Port: | clang-3.4 ld64-127 |
Description
Following instructions per https://trac.macports.org/wiki/LibcxxOnOlderSystems
clang-3.4 working clang-3.7 install falls over with seg fault
previous builds used +universal, so have cleaned out that and default -universal.
Could this be due to running multiple jobs??? -j8 defaulted somewhere (can't recall where I did that many years ago and can't find it at present to change to single job)
tried building other versions of ld64 but they also fail.
log attached.
Attachments (2)
Change History (8)
Changed 6 years ago by cheongi
Attachment: | ld64-127-fails-segfault.log added |
---|
comment:1 Changed 6 years ago by kencu (Ken)
hmmm. I just tried rebuilding it on my 10.6.8 setup with LibcxxOnOlderSystems:
sudo port -v destroot ld64-127 +llvm34 -llvm50 configure.compiler=macports-clang-3.4
and it built through to completion without an issue.
I haven't bootstrapped a system from stock in a while, admittedly, but the most likely thing is that that you got a step mixed up or skipped. Much as I hate to suggest it, I would start fresh -- make sure you have nothing changed in your macports.conf or variants.conf and they are stock to begin with -- and start from fresh.
I don't think it has anything to do with parallel building -- I run 4 parallel jobs on this machine.
comment:2 Changed 6 years ago by jmroot (Joshua Root)
Cc: | larryv added |
---|---|
Owner: | set to jeremyhu |
Port: | clang-3.4 ld64-127 added |
Status: | new → assigned |
Summary: | clang-3.7 build fails ld64-127 seg fault → clang-3.4 seg fault building ld64-127 |
Changed 6 years ago by cheongi
Attachment: | ld64-127-fails-clean.log added |
---|
build new macports still fails
comment:3 Changed 6 years ago by cheongi
this is what I did:
- moved /opt to /opt-old hoping that is near enough for clean start
- installed Macports from new package for SnowLeopard
- followed instructions for new build
- followed instructions per https://trac.macports.org/wiki/LibcxxOnOlderSystems
Fell over at python due to existingMacports Python app. Forced python build and all ok. Followed 2 note instructions on python.
Seg fault building ld64-127. see log.
Also tried from a clean user profile with clean PATH - same error.
comment:4 Changed 6 years ago by kencu (Ken)
Unfortunate. I will have to start with a clean 10.6.8 VM and try running through the LibcxxOnOlderSystems bootstrapping to see if it still works as it did. There have been changes in the various ports to some extent over the past couple of years. I will let you know how it turns out for me. Give me a week or so. -- Ken
comment:5 Changed 6 years ago by kencu (Ken)
I just went through the LibcxxOnOlderSystems instructions from the start on a pristine 10.6.8 VM running the current MacPorts. It worked successfully, and I have a complete libcxx system with clang-3.7, a current cctools, a current ld64-latest, and all the supporting software.
At the broken point in time you find yourself as described in the top of this ticket, I would uninstall all your ports on macports, and most likely it would be best to start completely clean, by doing a complete uninstall to make sure you have a stock setup:
<https://guide.macports.org/chunked/installing.macports.uninstalling.html>
Then install from the 10.6.8 Installer package <https://github.com/macports/macports-base/releases/download/v2.5.4/MacPorts-2.5.4-10.6-SnowLeopard.pkg>, and then run through the LibcxxOnOlderSystems instructions as specified, but with the following minor adjustments.
I noticed a couple of things that might not be obvious from the instructions.
In Step 5, you are to update variants.conf with some new entries. The bit as written can't be copy-pasted
-llvm34 +llvm39 # You may need to update this to +llvm40 and higher in the future
You need this instead, as the comment doesn't work here:
-llvm34 +llvm39
You will be asked a number of times if you want to rebuild your installed ports because of mismatches between libstdc++ and libc++ . This is a new feature of MacPorts that didn't exist when the LibcxxOnOlderSystems instructions were written. I would suggest you do NOT do this along the way. Instead, do the following:
- Steps 1 through 7
- Step 8 (update variants.conf again)
- Step 12 (uninstall llvm-3.4 and clang-3.4)
- Then run
sudo port -v rev-upgrade
and let it rebuild the smaller ports it wants to rebuild.
Then do steps 9, 10, and 11.
Please report back any issues or concerns.
comment:6 Changed 6 years ago by kencu (Ken)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
The LibcxxOnOlderSystems document was updated, and I can't reproduce this segfault.
log