-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Release patched LLVM 15 #24093
Release patched LLVM 15 #24093
Conversation
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.
I seem to recall that the conf-llvm package only needs to have the right major version, and the rest are superfluous. I don't remember where in the code I got that impression from though. It might be tidier to release conf-llvm.15 instead.
["llvm15-dev"] {os-distribution = "alpine"} | ||
["llvm"] {os-family = "arch"} | ||
["llvm15-devel"] {os-family = "suse"} | ||
["llvm15-devel"] {os-distribution = "fedora"} |
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.
Should this be llvm-devel-15, based on https://packages.fedoraproject.org/pkgs/llvm/llvm-devel/fedora-37.html ?
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.
I do not know, as I am not a Fedora user. I am just copying over the naming convention from conf-llvm.14. Does the naming on that webpage, llvm-devel-15.0.0-1.fc37
, imply that I would type dnf install llvm-devel-15
to install the package on Fedora?
I also found https://packages.fedoraproject.org/pkgs/llvm15/llvm15-devel/index.html.
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.
I am not familiar with the fedora naming scheme either, but am just guessing from the log of a failing CI job that says Error: Unable to find a match: llvm15-devel
.
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.
The CI seems to use Fedora 36. According to https://pkgs.org/download/llvm-devel, Fedora 26 has llvm-devel-14
. On the other hand, https://pkgs.org/download/llvm15-devel says that llvm15-devel
is available for Fedora 38 but not Fedora 36.
"conf-bash" {build} | ||
] | ||
depexts: [ | ||
["llvm@15"] {os-distribution = "homebrew" & os = "macos"} |
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.
The macos-homebrew-*-arm64
CI jobs fail with ld: library not found for -lzstd
but the llvm@15 homebrew package does require zstd, so the failure is odd. I don't know if there is something nonstandard about the CI worker setup.
Accept @jberdine's fix Co-authored-by: Josh Berdine <josh@berdine.net>
The relevant change being backported is https://reviews.llvm.org/D136400. My fork of LLVM also fixes various functions that were removed between LLVM 15 and LLVM 16 (and therefore not included in the linked patch) to work with OCaml 5. In addition, my fork of LLVM 15 adds deprecation annotations to various functions that were replaced between LLVM 15 and LLVM 16. Compared to LLVM 14, the opam package file in this PR removes the conflicts with nnp and changes the tarball URL and hash. |
@alan-j-hu Could you remind me, if there any easy ways to test this package without disabling the whole default opam repository? I have some trouble with https://discuss.ocaml.org/t/dynlinking-plugin-which-references-llvm-stubs/12596 and it would be great, if I could test LLVM 15. |
@Kakadu The LLVM OCaml bindings README gives some instructions on how to install the bindings while linking to the already-installed LLVM: https://github.com/llvm/llvm-project/tree/main/llvm/bindings/ocaml However, I'm not too experienced with this. I just tested the bindings by running the LLVM tests. IIRC CMake actually installed some of the files in the wrong place in the .opam folder and I had to manually move them, but I don't remember the details. You can also try adding this branch of my fork as another opam repository, as seen with the example here: https://github.com/janestreet/opam-repository. However, I've never done this before. |
Build is currently failing:
|
It seem that
|
Superseded by #24268 |
I talked with @jberdine and we think that getting the LLVM 15 fork with the OCaml 5 support released on OPAM is more important than details of specific build systems. We think that LLVM 15 should just be released now in the same manner that LLVM 14 was.
My personal feeling after looking into Dune is that:
The ball is in the court of @kit-ty-kate to decide whether to accept this PR. Please let me know if you have any disagreement or concerns.