#67222 closed defect (fixed)
clang-13 @13.0.1_3 does not build on 10.11.6 (El Capitan)
Reported by: | snowflake (Dave Evans) | Owned by: | Chris Jones <jonesc@…> |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.99 |
Keywords: | Cc: | ||
Port: | clang-13 |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
Confirmed by the buildbots:
https://build.macports.org/builders/ports-10.11_x86_64-builder/builds/216803
I did not spot any errors, but there was this warning just before the build giving up:
ld: warning: object file (/opt/local/lib/libMacportsLegacySupport.a(macports_legacy_os_unfair_lock.o)) was built for newer OSX version (10.11) than being linked (10.10)
Change History (5)
comment:1 Changed 19 months ago by snowflake (Dave Evans)
Version: | → 2.8.99 |
---|
comment:2 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)
Description: | modified (diff) |
---|
comment:3 Changed 19 months ago by cjones051073 (Chris Jones)
Building for x86_64h
is normal for LLVM. The compiler command in question here in fact is targeting both x86_64h
and x86_64
.
The sanitizers are notoriously picky to get built on older systems. clang 13 (and 14 which has the same problem as here) currently disable them on OSX10.10 and older. clang 15 and newer disable them on OSX10.11 and older. Given the sanitizers are not needed for the main use of the compiler, and any one needing them is likely on a newer OS and would want a newer clang anyway, I think the simple fix is to just extend the disabling to OSX10.11 here, to match clang-15+.
comment:4 Changed 19 months ago by Chris Jones <jonesc@…>
Owner: | set to Chris Jones <jonesc@…> |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:5 Changed 19 months ago by ryandesign (Ryan Carsten Schmidt)
This doesn't seem "picky", it just seems like an architecture mismatch. Either legacysupport has to be built for x86_64h in addition to x86_64 so that llvm can use it, or llvm needs to stop building for x86_64h, or llvm cannot use legacysupport.
I would be more concerned about:
So the question is why is it trying to build for x86_64h?