Linker on macOS prints excessive warnings in CI
straight-shoota opened this issue · 8 comments
The linker on macOS prints such as warning for every individual object file:
ld: warning: object file (I-O-5858B-yteF-ormat5858B-igE-ndian.o0.o) was built for newer macOS version (14.0) than being linked (11.0)
Example CI run: https://github.com/crystal-lang/crystal/actions/runs/11521615235/job/32075666471?pr=15127
The log is spammed with about ~87k of these warnings, which is just excessive. It's basically unusable through the GitHub web UI. You can still download the entire job log as a text file.
Anyway, we should not get that many warnings.
Ideally, we need to fix this. Or at least silence the warnings.
I'm not familiar with macOS build system, so I'm not sure what this warning even means or what we're suppose to do.
This has previously been mentioned in #14835
We might want to try using a new version of LLVM (#14651).
Updating to LLVM 18.1 does not make the warnings go away. Was worth a try 🤷
For what it's worth, I'm getting this locally again with 1.14 on an arm mac on macos 15.1
XCode in CI is outdated, maybe updating that would help?
Could someone try the compiler build from #15164 to check if it still produces warnings?
https://app.circleci.com/pipelines/github/crystal-lang/crystal/16413/workflows/98d80cfd-d8e5-41e8-8469-07129eca4ce8/jobs/86925/artifacts
Interestingly enough I'm on 1.14 on an arm mac on macos 15.1 and I'm not currently having any problems. @will what xcode version are you on? I'm apparently on 16.1 installed via CommandLineTools
versus actual xcode.
EDIT:
$ xcode-select -p
/Library/Developer/CommandLineTools
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
version: 16.1.0.0.1.1729049160
@Blacksmoke16 I'm on 15.1 and this is what I'm seeing for xcode:
❯ xcode-select -p
/nix/store/4s8z8il6zyq77ixy4b8kfzwsnz90vsrm-apple-sdk-11.3
I could get this on nix-shell
only after building a local compiler first. It seems this might be affected by NixOS/nixpkgs#346043