-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Release LLVM versions 20 and 21 #29110
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
base: master
Are you sure you want to change the base?
Conversation
Also remove stray newline in some older LLVM opam files
|
ty for the contribution whenever possible, in order to make the ci results easier to parse, we try to separate cosmetic changes (such as insignificant newline removal) from significant changes, no worries though: i'll open a PR for the whitespace stuff, but just in case for next time :) |
|
reopened to retrigger the CI |
|
The close-open-dance only retriggers the Windows workflows. |
|
In some of the failures there seems to be an issue with the version extraction, can you have a look? |
|
@mseri My if ! $llvm_config --link-${mode} --libs; then
echo "Note: '$llvm_config' matches version '$version', but does not support link mode '$mode'."
continue
fiI think the CI failures you are referring to are the ones which look like: To my understanding, this failure means that the distro does not install the static library archives. So, static LLVM is not supported. However, I don't know because I don't have access to those failing distros. |
|
Sorry for the late reply. Indeed that was expected, my bad, but there are also "shared" failures, where at least in some cases the issue seem to be with
Opensuse (for both ocaml 4.14 and 5.4, not all linked here):
Archlinux (also not all linked, maybe needs a conf python?) And also freebsd Can we do something about it? |
|
Looks like OpenSUSE installs Is there a way for opam to selectively apply patches depending on the operating system? OpenSUSE will need a different patch from the default, which looks for LLVM-21: https://github.com/alan-j-hu/llvm-ocaml-ci/blob/3601bff13496ac980c7352b98c75da883327c220/llvm/AddOCaml.cmake.patch.19#L62 |
|
@rjbou is that possible with opam? |
|
According to the opam manual, it is possible to selectively apply patches using filters: https://opam.ocaml.org/doc/Manual.html#opamfield-patches. I am currently trying to fix some of these build issues. However, I recently started a new job that I'm getting acclimated to, and I have very limited time in the day to work on this. |
|
FYI, I'm feeling very frustrated and anxious right now. My unfamiliarity with the operating systems at hand is causing me to make all sorts of mistakes, and I have very limited free time to work on this. I might need to take a step back, and I don't know if I'll be able to solve these issues right now. |
|
Since this looks to be quite complex, my suggestion would be to merge the current version as is, not blocking it on opensuse. So that if users need the package and find the error, can figure out the best way to deal with that and contribute to the script. What do you think? |
jmid
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alan-j-hu - take your time. Starting a new job is indeed stressful.
As for this PR, I suggest tackling some of the lower-hanging red CI lights before merging. According to https://pkgs.org/search/?q=libLLVM.so the Centos package names are slightly off.
|
OK, I was too fast above, so I reverted my commits - and attempted Now, there are Centos AppStream packages for llvm-devel {20,21} as witnessed by How do we install specific major versions {20,21} without locking in to, e.g., This is a very welcome PR, but I see no rush to merging it. I still think we should address some of the many Alpine, Arch, Centos, Fedora, FreeBSD, and macOS CI red lights (as pointed out by @mseri above) and not get too focused on OpenSuse alone. |
Attempt to see if haivng zstd installed is enough to fix macos and bsd
|
Thank you for your patience, everyone. I've pushed some new code that hopefully should fix the macos and opensuse build errors. I think what happened with macos is that I was relying on the environment variable Based on what I found on https://build.opensuse.org/projects/openSUSE:Factory/packages/llvm21/files/llvm-normally-versioned-libllvm.patch?expand=1, I think that OpenSUSE patches its LLVM package to not have the major version suffixed to the name. Therefore, I added a patch file to remove that only for the OpenSUSE build, which I hope will fix the issue. However, I don't have access to an OpenSUSE installation to actually test the build on. If these changes fix the aforementioned issues, I think this PR should be merged so that other people can use the LLVM 20 and 21 bindings, and possibly contribute fixes to build issues. |
|
Made an adjustment: When linking to the LLVM shared library, you can build native, bytecode, and "custom runtime" bytecode executables ( |
Also remove stray newline in some older LLVM opam files