#62417 closed defect (fixed)
llvm-7.0 fails to build on Leopard Intel
Reported by: | Wowfunhappy (Jonathan) | Owned by: | kencu (Ken) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | Cc: | kencu (Ken) | |
Port: | llvm-7.0 |
Description
(Hopefully this is actually the last one?)
Log is attached. I usually try to pull out the most (seemingly) relevant piece, but I couldn't make any sense of this one I'm afraid...
Attachments (2)
Change History (12)
Changed 4 years ago by Wowfunhappy (Jonathan)
comment:1 Changed 4 years ago by kencu (Ken)
comment:2 follow-up: 3 Changed 4 years ago by kencu (Ken)
open this file:
/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_llvm-7.0/llvm-7.0/work/llvm-7.1.0.src/lib/Support/Unix/Threading.inc
and take a look at that block the patch was supposed to fix. is it patched? It should be.
Jeremy likes this construct:
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
but to be honest, I think it's more reliable if you just use this:
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
If the first is not working properly, try the second. I might just change it anyway.
Changed 4 years ago by Wowfunhappy (Jonathan)
Attachment: | Threading.inc added |
---|
comment:3 Changed 4 years ago by Wowfunhappy (Jonathan)
Replying to kencu:
and take a look at that block the patch was supposed to fix. is it patched? It should be.
I think so yes, see attached. I'll try changing it...
comment:4 Changed 4 years ago by kencu (Ken)
Well I don't know. My own build just roared past that spot and is going through to the end on Leopard.
Could you possibly have older "Command Line Tools" installed in "/" ?
comment:5 Changed 4 years ago by kencu (Ken)
OH I think I know what this is.
To have any hope of having leopard work properly on MacPorts, you have to do these fixes:
<https://trac.macports.org/wiki/LeopardSDKFixes>
If you don't, you see errors like the ones you have.
comment:6 Changed 4 years ago by Wowfunhappy (Jonathan)
I actually think the first change you suggested fixed it:
#if __MAC_OS_X_VERSION_MAX_ALLOWED >= 1060but to be honest, I think it's more reliable if you just use this:
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
Hopefully I'm not speaking to soon, because llvm is still compiling, but it usually doesn't go this long before failing. :)
(I will also make those SDK edits though, it looks super quick/painless. If possible, it might be good to put a link to that page in an error message for some high-visible port which is known to need them. I don't think I would have found it myself.)
comment:7 Changed 4 years ago by Wowfunhappy (Jonathan)
Yep, can now confirm, that one line change allowed llvm to compile successfully, even without any sdk edits. (Thank you!)
comment:8 Changed 4 years ago by kencu (Ken)
Owner: | set to kencu |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:9 Changed 4 years ago by kencu (Ken)
So I just installed a new installation of MacPorts on a virgin Leopard Intel system.
Then I made the tiny change in <https://trac.macports.org/wiki/LeopardSDKFixes> in AvailabilityInternal.h.
There was a hangup at autoconf barfing on gtk-doc, so I installed autoconf 2.6.9_5 instead of 2.7.1. And the usual silly thing about deactivating libunwind-headers
when building libgcc7.
But other than that, it installed all the way to clang-7.0 without touching the keyboard. Took a while, but it's all finished.
I will have to manually upgrade libcxx to the +emulated_tls variant still to get full functionality, but other than that, it's clean.
comment:10 Changed 4 years ago by kencu (Ken)
btw clang-9.0 seems fine on Leopard, and matches SnowLeoaprd so if that holds up we can change the Leopard defaulting to match SL.
We fixed this before...
here
<https://github.com/macports/macports-ports/blob/master/lang/llvm-7.0/files/0005-Threading-Only-call-pthread_setname_np-on-SnowLeopar.patch>
what happened, I wonder?