[WIP] LLVM 20 llvmdev recipe
Using this PR for development / notes.
Build / installation
I built for linux-64 with the GHA builder (https://github.com/numba/llvmlite/actions/runs/15325329108)
Installation requires:
+ liblzma-devel 5.8.1 hb9d3cd8_1 conda-forge 442kB
+ xz-gpl-tools 5.8.1 hbcc6ac9_1 conda-forge 34kB
+ xz-tools 5.8.1 hb9d3cd8_1 conda-forge 96kB
+ libstdcxx-ng 15.1.0 h4852527_2 conda-forge Cached
+ zlib 1.2.13 h4ab18f5_6 conda-forge Cached
+ xz 5.8.1 hbcc6ac9_1 conda-forge 24kB
+ zstd 1.5.6 ha6fb4c9_0 conda-forge Cached
+ llvmdev 20.1.5 hfc4b9b4_0 /home/gmarkall/numbadev/llvmdev-20 684MB
- [ ] Re-enable assertions: See https://github.com/numba/llvmlite/issues/1194
- [ ] Don't have zlib / zstd dependencies for wheels
- [ ] Root cause segfault
Are the zlib and zstd dependencies a problem?
Yes, for wheels. Different recipe versions may be needed for wheels and conda packages.
I think #1227 should fix the issue you saw when you ran the build with GitHub Actions. You might need to merge main into this branch to pick up the fix.
Thanks, will give it a try!
As noted in OOB discussion, this patch needs to re-enable building with assertions "on" for the purposes of Numba channel releases/development builds.
Further, I'm not sure whether this needs to build with RTTI, I recall historically that it was "off" but it seems to have been set to "on" recently.
Looks like the wheel builds are failing with:
Applying patch: /root/llvmlite/conda-recipes/llvmdev_for_wheel/../llvm15-clear-gotoffsetmap.patch
Applying patch: /root/llvmlite/conda-recipes/llvmdev_for_wheel/../llvm15-clear-gotoffsetmap.patch with args:
['-Np1', '-i', '/tmp/tmpmw4obdaz/llvm15-clear-gotoffsetmap.patch.native', '--binary']
Warning: failed to download source. If building, will try again after downloading recipe dependencies.
Error was:
Command '['/root/miniconda3/envs/buildenv/bin/patch', '--no-backup-if-mismatch', '--batch', '-Np1', '-i', '/tmp/tmpmw4obdaz/llvm15-clear-gotoffsetmap.patch.native', '--binary', '--dry-run']' returned non-zero exit status 1.
and so far none of the builds have succeeded yet, they have all failed in one capacity or another.
As a first step I would suggest to remove the llvm15 patch application and then track down the rest of the issues.
A few llvmdevs have built fine:
- linux-64
- linux-aarch64
- win-64
The PR https://github.com/numba/llvmlite/pull/1259 was included here via a merge to main. The PR https://github.com/numba/llvmlite/pull/1262 was also included, but merged directly with this branch.
It looks promising now, no llvmdev runs have failed and we are only waiting on osx-64 and win64.
💪 💪 💪
Based on the tests in: https://github.com/numba/llvmlite/pull/1092 and https://github.com/numba/numba/pull/10146 -- this is now ready to merge!