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

Bump libllvm and flang from 18.1.8 to 19.1.1 #21452

Merged
merged 2 commits into from
Oct 2, 2024

Conversation

finagolfin
Copy link
Member

Let's see if it builds for AArch64 still, haven't tried this at all locally.

@finagolfin finagolfin marked this pull request as draft September 12, 2024 11:29
@finagolfin
Copy link
Member Author

AArch64 built and runs fine, so building the rest now.

@finagolfin
Copy link
Member Author

Alright, the upcoming LLVM 19 release builds and works fine. @truboxl, @licy183 and @TomJo2000, you may want to start trying to build the rust, zig, and flang compilers with these new packages: simply download the zip file from the CI and unpack the .deb packages to ~/.termux-build/_cache-aarch64/ or whichever arch you need, so you don't have to waste time rebuilding LLVM.

@finagolfin
Copy link
Member Author

I just need to update the llvm-config script for the CI and this should be ready to go for the initial patch release, but I won't merge till the compilers that dynamically link against it are ready. Swift statically links its own forked LLVM, so there's no need to bump that package and a couple others that do the same.

@finagolfin
Copy link
Member Author

LLVM 19.1.0 will be released in the next couple days. I see only two compilers that dynamically link against it and which would break on the update: crystal and rust.

@HertzDevil, do you know if crystal will rebuild fine against the next LLVM release? @truboxl, get a chance to try rebuilding rust yet with this update?

@HertzDevil
Copy link
Contributor

We have a pending PR for Crystal that was last known to work with some x86-64 Debian release after 19.1.0-rc1. Our next minor release is scheduled for Oct 9th, although that PR needs to land before 25th this month. I do not believe there are any AArch64-specific blockers.

@truboxl
Copy link
Contributor

truboxl commented Sep 17, 2024

I do not understand what makes this branch so special that ./scripts/buildorder.py really unhappy.
Keeps spawning undeterministic errors below, preventing me to build other packages:

ERROR: Package binutils-is-llvm depends on non-existing package "llvm"
ERROR: Package binutils-is-llvm depends on non-existing package "lld"

EDIT: ah might be the blacklist arch

@finagolfin
Copy link
Member Author

ah might be the blacklist arch

Yeah, just remove that line. I didn't want to rebuild AArch64 unnecessarily, as I had already built it first.

@landfillbaby landfillbaby changed the title bump(libllvm): 18.1.8 to 19.1.0 RC4 for testing bump(libllvm): 18.1.8 to 19.1.0 for testing Sep 17, 2024
@fornwall
Copy link
Member

Rust should be ready for LLVM 19 with next version 1.82, scheduled for October 17: https://releases.rs/docs/1.82.0/

@finagolfin
Copy link
Member Author

That's way too long, is there a LLVM 19 pull we can backport instead?

@finagolfin finagolfin changed the title bump(libllvm): 18.1.8 to 19.1.0 for testing bump(libllvm): 18.1.8 to 19.1.0 Sep 18, 2024
@finagolfin
Copy link
Member Author

Rebased to fix CI issues

@finagolfin finagolfin changed the title bump(libllvm): 18.1.8 to 19.1.0 Bump libllvm and flang from 18.1.8 to 19.1.0 Sep 18, 2024
@truboxl
Copy link
Contributor

truboxl commented Sep 20, 2024

That's way too long, is there a LLVM 19 pull we can backport instead?

We can try build rust 1.82.0 beta but I have no idea why the build broke.

error: manifest path `mdbook-spec/Cargo.toml` does not exist
error: failed to extract std links (ExitStatus(unix_wait_status(32512)))

@finagolfin
Copy link
Member Author

I am surprised the Rust team is waiting so long after the initial LLVM 19 patch release to support it. It would be better if there's an upstream pull you could backport to 1.81. I think somebody did that before for us and it wasn't a massive patch or anything, but I didn't look closely.

@finagolfin
Copy link
Member Author

Alright, @truboxl got the current Rust package working with LLVM 19 and I assume Crystal will keep working with the linked patch.

@licy183, can you look at the flang build failures?

I will update the llvm-config script and merge this tomorrow. Anybody objects, let me know.

@licy183
Copy link
Member

licy183 commented Sep 26, 2024

I'll take a look this weekend.

@finagolfin
Copy link
Member Author

@licy183, assuming this passes CI, please squash the last three commits to a single commit authored by you, though with the simple commit message I wrote, since you got flang working. I will then add in the final llvm-config script changes and merge this weekend.

@licy183 licy183 force-pushed the llvm-19 branch 2 times, most recently from db60f56 to c4facbc Compare September 28, 2024 16:39
@HertzDevil
Copy link
Contributor

Crystal's PR for LLVM 19.1 support has been merged into upstream

@finagolfin
Copy link
Member Author

OK, but that won't be in a Crystal release for another week? Does it apply cleanly to the current Crystal release?

I plan to update this script and merge this pull with the latest 19.1.1 release tonight, just got delayed.

@finagolfin finagolfin force-pushed the llvm-19 branch 2 times, most recently from 832ed33 to 9a57dfe Compare October 2, 2024 07:19
@finagolfin finagolfin changed the title Bump libllvm and flang from 18.1.8 to 19.1.0 Bump libllvm and flang from 18.1.8 to 19.1.1 Oct 2, 2024
@finagolfin finagolfin marked this pull request as ready for review October 2, 2024 17:32
@finagolfin finagolfin removed the request for review from Grimler91 October 2, 2024 17:33
@finagolfin
Copy link
Member Author

Ready to go, will merge later today.

@finagolfin finagolfin merged commit 0442d0b into termux:master Oct 2, 2024
2 of 7 checks passed
@finagolfin
Copy link
Member Author

It will take 3-4 hours for this to build and be available to CI, then we can try building and merging the Rust pull and patching Crystal.

@finagolfin finagolfin deleted the llvm-19 branch October 2, 2024 22:19
@finagolfin
Copy link
Member Author

Clang, flang, and rust have been updated: @HertzDevil, maybe you can submit a backport of that LLVM 19 patch for Crystal? I tested the clang update locally, works well, others who use those packages can check flang and rust.

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.

6 participants