Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linker on macOS prints excessive warnings in CI #15130

Open
straight-shoota opened this issue Oct 26, 2024 · 9 comments
Open

Linker on macOS prints excessive warnings in CI #15130

straight-shoota opened this issue Oct 26, 2024 · 9 comments

Comments

@straight-shoota
Copy link
Member

straight-shoota commented Oct 26, 2024

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

@beta-ziliani
Copy link
Member

This is likely an instance of #13846, although I thought it was fixed with #14466

@straight-shoota
Copy link
Member Author

We might want to try using a new version of LLVM (#14651).

@straight-shoota
Copy link
Member Author

straight-shoota commented Nov 5, 2024

Updating to LLVM 18.1 does not make the warnings go away. Was worth a try 🤷

@will
Copy link
Contributor

will commented Nov 6, 2024

For what it's worth, I'm getting this locally again with 1.14 on an arm mac on macos 15.1

@straight-shoota
Copy link
Member Author

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

@Blacksmoke16
Copy link
Member

Blacksmoke16 commented Nov 7, 2024

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

@abrightwell
Copy link

@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

@HertzDevil
Copy link
Contributor

I could get this on nix-shell only after building a local compiler first. It seems this might be affected by NixOS/nixpkgs#346043

@abrightwell
Copy link

FWIW, I was able to resolve the warnings with the following:

❯ crystal build main.cr --link-flags "-mmacosx-version-min=14.0"

I don't have much more to offer on this one at this time, but figured I'd mention it just in case it helped lead to a proper solution.

However, here are some of the other details of my setup:

❯ crystal version
Crystal 1.14.0 (1980-01-01)

LLVM: 18.1.8
Default target: aarch64-apple-darwin23.6.0
❯ sw_vers -productVersion
14.6.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants