llvmlite icon indicating copy to clipboard operation
llvmlite copied to clipboard

[WIP] LLVM 20 llvmdev recipe

Open gmarkall opened this issue 7 months ago • 3 comments

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

gmarkall avatar May 30 '25 11:05 gmarkall

Are the zlib and zstd dependencies a problem?

Yes, for wheels. Different recipe versions may be needed for wheels and conda packages.

gmarkall avatar Jun 03 '25 14:06 gmarkall

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.

seibert avatar Jun 03 '25 21:06 seibert

Thanks, will give it a try!

gmarkall avatar Jun 04 '25 13:06 gmarkall

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.

stuartarchibald avatar Aug 07 '25 21:08 stuartarchibald

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.

esc avatar Aug 20 '25 11:08 esc

A few llvmdevs have built fine:

  • linux-64
  • linux-aarch64
  • win-64

esc avatar Aug 20 '25 14:08 esc

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.

💪 💪 💪

esc avatar Aug 21 '25 09:08 esc

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!

esc avatar Aug 26 '25 09:08 esc