Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#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)

ld64-127-fails-segfault.log (46.2 KB) - added by cheongi 6 years ago.
log
ld64-127-fails-clean.log (48.0 KB) - added by cheongi 6 years ago.
build new macports still fails

Download all attachments as: .zip

Change History (8)

Changed 6 years ago by cheongi

Attachment: ld64-127-fails-segfault.log added

log

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: newassigned
Summary: clang-3.7 build fails ld64-127 seg faultclang-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:

  1. moved /opt to /opt-old hoping that is near enough for clean start
  2. installed Macports from new package for SnowLeopard
  3. followed instructions for new build
  4. 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.

Version 1, edited 6 years ago by cheongi (previous) (next) (diff)

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.

Last edited 6 years ago by kencu (Ken) (previous) (diff)

comment:6 Changed 6 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

The LibcxxOnOlderSystems document was updated, and I can't reproduce this segfault.

Last edited 6 years ago by kencu (Ken) (previous) (diff)
Note: See TracTickets for help on using tickets.