Skip to content

[backports-release-1.10] Bump llvm 15 to 15.0.7+11#61093

Open
christiangnrd wants to merge 4 commits intoJuliaLang:backports-release-1.10from
christiangnrd:newllvm
Open

[backports-release-1.10] Bump llvm 15 to 15.0.7+11#61093
christiangnrd wants to merge 4 commits intoJuliaLang:backports-release-1.10from
christiangnrd:newllvm

Conversation

@christiangnrd
Copy link
Contributor

I can't reopen #60968 so new PR.

This should allow LTS julia to be built on newer macos versions. I also snuck in a whitespace fix. Close #58890

@DilumAluthge
Copy link
Member

@christiangnrd @gbaraldi Any idea why asan and tsan are failing?

@gbaraldi
Copy link
Member

I see some 404s @christiangnrd did you build all the dependent libs? (clang etc

@christiangnrd
Copy link
Contributor Author

I see some 404s @christiangnrd did you build all the dependent libs? (clang etc

I'm pretty sure I did. This PR is based off of #52405.

I noticed 2 things.

Firstly, for some reason some symlinks aren't created with the newer clang, but I wouldn't know where to start looking for why:

ChrichriMBP:~/Projects/julia$ diff clang+10.txt clang+11.txt
8d7
< lrwxrwxrwx 1 christian christian    5 Feb 22 11:27 clang++ -> clang
13,14d11
< lrwxrwxrwx 1 christian christian    5 Feb 22 11:27 clang-cl -> clang
< lrwxrwxrwx 1 christian christian    5 Feb 22 11:27 clang-cpp -> clang
37,38d33
< -rwxr-xr-x 1 christian christian  23K Feb 22 11:27 git-clang-format
< -rwxr-xr-x 1 christian christian 9.8K Feb 22 11:27 hmaptool
118d112
< -rwxr-xr-x 1 christian christian  15K Feb 22 11:27 run-clang-tidy

Secondly, it seems like the cxx03 versions of the libraries I built on yggdrasil never got built. Maybe that has something to do with it?

@gbaraldi
Copy link
Member

the cxx03 thing I think is because we disabled those targets by default cc @giordano. God these builds bitrot fast. You can check the difference in the common.jl since the last build happened and now.
I don't think sharing the file between versions was such a good idea in hindsight.

@gbaraldi
Copy link
Member

gbaraldi commented Feb 24, 2026

I would check if llvm_full_jll has the symlinks and we failed to copy to the dependent jlls or if the original full build already doesn't have them (they might be in bin instead of tools and vice versa) I seem to remember issues like these.

@christiangnrd
Copy link
Contributor Author

christiangnrd commented Feb 24, 2026

I would check if llvm_full_jll has the symlinks and we failed to copy to the dependent jlls or if the original full build already doesn't have them (they might be in bin instead of tools and vice versa) I seem to remember issues like these.

Very crude formatting, but seems like my build is fully missing the symlinks, and some tools from bin aren't properly copied over?

Details
ChrichriMBP:~/Downloads$ find . -name "clang++"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/tools/clang++
ChrichriMBP:~/Downloads$ find . -name "clang-cl"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/tools/clang-cl
ChrichriMBP:~/Downloads$ find . -name "clang-cpp"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/tools/clang-cpp
ChrichriMBP:~/Downloads$ find . -name "git-clang-format"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+11)/bin/git-clang-format
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/bin/git-clang-format
ChrichriMBP:~/Downloads$ find . -name "hmaptool"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/tools/hmaptool
ChrichriMBP:~/Downloads$ find . -name "run-clang-tidy"
./LLVM_full.v15.0.7.aarch64-apple-darwin(+11)/bin/run-clang-tidy
./LLVM_full.v15.0.7.aarch64-apple-darwin(+10)/bin/run-clang-tidy

Related to the missing symlinks, I found JuliaPackaging/Yggdrasil#8050. Is it possible that the cause is that CMAKE_FLAGS+=(-DCLANG_TOOLS_INSTALL_DIR="${prefix}/tools") changed to CMAKE_FLAGS+=(-DCLANG_TOOLS_INSTALL_DIR="tools") (no more ${prefix} in front of /tools) when being moved?

As for the cxx03 stuff, seems like I'm the first one to trigger a build of LLVM since JuliaPackaging/BinaryBuilderBase.jl#446. Not sure what the best way to proceed since I don't fully understand if those builds are still needed, and if so if they're only needed for llvm 15 builds or all llvm builds, etc.

@gbaraldi
Copy link
Member

I wouldn't worry about the cxx stuff

@giordano
Copy link
Member

Yeah, I'd be curious to meet people who build Julia v1.10 from source with GCC 4.8. I don't even know whether that's possible at all.

@christiangnrd
Copy link
Contributor Author

JuliaRegistries/General#149248 and JuliaRegistries/General#149248 encountered automerge issues :/ I left comments with how I think they can be fixed because suggestions didn't work very well last time. Would anyone with merge permission be able to help me resolve these?

There's also JuliaRegistries/General#149249 which I believe requires the same fix as the LLVM_jll pr but that one isn't relevant for this PR

@KristofferC KristofferC deleted the branch JuliaLang:backports-release-1.10 February 26, 2026 12:02
@DilumAluthge DilumAluthge reopened this Feb 26, 2026
@DilumAluthge
Copy link
Member

@giordano Would you be able to look at the General registry PRs mentioned above? I imagine the fixes need to be applied in Yggdrasil (not General).

@christiangnrd
Copy link
Contributor Author

christiangnrd commented Feb 26, 2026

Is there any way to update the minimum julia compat version from Yggdrasil without having to rebuild everything?

Edit: found it. I opened JuliaPackaging/Yggdrasil#13225 so potential future builds (hopefully not) don't have issues with registration.

@christiangnrd
Copy link
Contributor Author

I think these failures are spurious could someone take a look and restart them if they agree?

@fingolfin
Copy link
Member

I restarted the failing jobs

@christiangnrd
Copy link
Contributor Author

All green!

@DilumAluthge
Copy link
Member

@gbaraldi Is this good to merge?

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants