-
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
Prepare for LLVM 18, link to local repo for scripts and patches #27178
Conversation
I'm getting cascading errors because of this:
This is despite the fact that this all worked on my computer testing locally, and |
Okay, I misunderstood the CI error message. |
I'm changing this PR from "draft" to "ready to review" because the opam maintainers have not seen my PR over at the opam-source-archives repository. They may have only glanced at this one, and misunderstood its status because of the "draft" state. I need the opam maintainers to look at this PR. However, as it stands, it points at scripts on my fork of opam-source-archives. Therefore, my fork of opam-source-archives therefore needs to be merged first, so I can change the URLs on this PR. |
You can link the opam-source-archive patches and files now, thanks! |
I have changed the links now. |
Hold on, don't merge this yet. I think there might be a problem with bytecode executables, which I need to check out. |
Bytecode executables were not working. (I'm not sure if they were even working before, as bytecode executables do not compile under the LLVM 14 package for a different reason.) To fix, please merge ocaml/opam-source-archives#42 first, and then merge this. |
Argh, I spoke too soon. The bytecode executable seems to work, but I think I still made a mistake in the patch, which I'm checking out right now. After the creation of the opam-source-archives repository, it's really, really difficult to support packages that depend on files in the opam-repository, because I need to move between two repositories and make two merge requests, leaving a lot of room for mistakes. |
Okay, ocaml/opam-source-archives#42 should be ready to merge, then this can be merged after. Right now, I have four projects open:
I need to make sure that the llvm-project test suite passes, and that the LLVM bindings also work properly when installed out-of-tree. I realized that bytecode executables didn't work when the |
AFAIK, in LLVM 14 (the last version opam to use CMake to build), bytecode compilation wasn't working, because of a different issue that has since been fixed: https://discuss.ocaml.org/t/llvm-symbol-not-found-for-bytecode-compilation/8728. Now, I would like to pay closer attention to this package to make sure all the moving parts work. |
Thanks for the effort! By the way, you don’t need the opam-source-archive until the patch is ready. It could live on your repo or in a gist for example, giving you fast iteration, and once everything is ready and tested, we can move it to the archive |
} | ||
extra-source "AddOCaml.cmake.patch" { | ||
src: | ||
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/llvm/AddOCaml.cmake.patch.18" |
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.
"https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/llvm/AddOCaml.cmake.patch.18" | |
"https://github.com/alan-j-hu/opam-source-archives/raw/e5d49c1c15149d3a239d237634f5fc85d903718d/patches/llvm/AddOCaml.cmake.patch.18" |
to iterate on the patch and test it while you are working on it, this or any other remote location would be fine
packages/llvm/llvm.18-static/opam
Outdated
} | ||
extra-source "AddOCaml.cmake.patch" { | ||
src: | ||
"https://raw.githubusercontent.com/ocaml/opam-source-archives/refs/heads/main/patches/llvm/AddOCaml.cmake.patch.18" |
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.
"https://raw.githubusercontent.com/ocaml/opam-source-archives/refs/heads/main/patches/llvm/AddOCaml.cmake.patch.18" | |
"https://github.com/alan-j-hu/opam-source-archives/raw/e5d49c1c15149d3a239d237634f5fc85d903718d/patches/llvm/AddOCaml.cmake.patch.18" |
Just a gentle ping, because I also would like this to work. :) |
Trying this again. It turns out that when I transferred the files from my https://github.com/alan-j-hu/llvm-ocaml-ci repo to the opam-source-archives repo, extra newlines got added at the end, so the checksums are different from the checksums listed in the opam files in the CI repo. From what I can tell, the functionality shouldn't change... |
https://github.com/alan-j-hu/llvm-ocaml-ci I updated my CI repo to match the hashes, and can confirm that the build still works. |
Every now and then it fails with
but somehow inconsistently. I see the failure on the conf package, and later on the package itself (using this conf) builds fine. Do you know why? I am rerunning some of the builds to double check |
Ugh, first this is a problem with llvm-config. It's just hardcoded to output Furthermore, Homebrew started installing libraries under I'm not sure of a good way to fix these issues. I'm not familiar with FreeBSD, or its package manager/repositories. I wonder if FreeBSD requires some |
I wonder if the LLVM.18-shared package will build on Silicon Macs so long as the user properly sets the |
I tried adding "zstd" as a depext to conf-llvm, but the FreeBSD CI still failed, so looks like that wasn't the issue. |
This reverts commit c0297d7.
Let's leave it as is for now and merge. This way homebrew and freebsd users will have a chance to try it out and see if they can help us with a fix. What do you think? |
Ok, sounds good to me. |
Thanks for such an amount of wark and your patience with all my requests 🙏 |
This references the scripts and patches for my fork of opam-source-archive, just so I can see if things work on CI... If this is accepted, they will need to be changed to point to ocaml/opam-source-archive.
Context: ocaml/opam-source-archives#40