Package Details: python-jaxlib 0.7.0-3

Git Clone URL: https://aur.archlinux.org/python-jaxlib.git (read-only, click to copy)
Package Base: python-jaxlib
Description: XLA library for JAX
Upstream URL: https://github.com/jax-ml/jax/
Keywords: deep-learning google jax machine-learning xla
Licenses: Apache-2.0
Groups: jax
Submitter: daskol
Maintainer: daskol
Last Packager: daskol
Votes: 8
Popularity: 0.076039
First Submitted: 2021-01-12 12:50 (UTC)
Last Updated: 2025-07-23 22:29 (UTC)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 Next › Last »

segin commented on 2023-10-06 10:31 (UTC)

Well, you've pushed 0.4.17 and didn't go to a release build, so clearly the dev build was the intended behavior. You had the opportunity to address it, and you didn't.

daskol commented on 2023-10-01 16:05 (UTC) (edited on 2023-10-01 16:06 (UTC) by daskol)

@segin It is not a fix. https://aur.archlinux.org/packages/python-jaxlib#comment-935718

It is not just dash or dot. The issue is that that package version should be release build

$ python -c 'from jaxlib.version import __version__; print(__version__)'
0.4.16

not a nightly build like this.

$ python -c 'from jaxlib.version import __version__; print(__version__)'
0.4.16.dev20231001

segin commented on 2023-10-01 15:14 (UTC) (edited on 2023-10-01 15:15 (UTC) by segin)

@daskol It's a fix. Trust me. Apply it and watch the magic work.

Between "0.4.16" and "dev...", you're using a - when the actual real file on disk will have a . in that place.

Line 38 (excerpted) on the PKGBUILD has "jaxlib-$pkgver-.whl" - instead here do "jaxlib-$pkgver..whl"

Why?

FileNotFoundError: [Errno 2] No such file or directory: '/home/segin/.cache/yay/python-jaxlib/src/jax-jaxlib-v0.4.16/dist/jaxlib-0.4.16-*.whl'

Because the actual file on disk doesn't have a - after the 16, it has a .:

segin@installation-00[10:09]:{~}% ls -l /home/segin/.cache/yay/python-jaxlib/src/jax-jaxlib-v0.4.16/dist/jaxlib-0.4.16.*.whl
-rw-r--r-- 1 segin wheel 71560446 Oct  1 10:07 /home/segin/.cache/yay/python-jaxlib/src/jax-jaxlib-v0.4.16/dist/jaxlib-0.4.16.dev20231001-cp311-cp311-manylinux2014_x86_64.whl
segin@installation-00[10:09]:{~}%  

Literally the issue is a malformed wildcard. I change that one single - to a . and look, ls finds the file!

daskol commented on 2023-09-26 15:03 (UTC)

@segin No, it is not fix. In this case jax.version.__version__ is not $pkgver. Initial intent was to catch dirty releases since lately many packagers ranging from huggingface to google changes release pipelines, way how to version is assigned to package, or makes unfortunate mistakes. If release version is $pkgver then the package must expose the same version $pkgver consistently.

segin commented on 2023-09-26 14:53 (UTC) (edited on 2023-09-26 14:54 (UTC) by segin)

Here's a ONE CHARACTER fix for this bug:

Replace the dash (-) between the package version and the wildcard with a period (.)

In my case, the generated wheel filename is jaxlib-0.4.16.dev20230926-cp311-cp311-manylinux2014_x86_64.whl but the wildcard is trying for jaxlib-0.4.16-*.whl

Right there in the wildcard after the 16 is a - when it should be a .

There, fixed by changing one single byte in the PKGBUILD.

daskol commented on 2023-09-24 13:03 (UTC)

@h3ss I see. I guess the issue is that jaxlib is built with bazel. Its build directory actually is in ~/.cache/bazel and it is not cleans with makepkg -C. I'll try to move ~/.cache/bazel in $srcdir in the future.

h3ss commented on 2023-09-24 12:58 (UTC)

Thanks @daskol! That did the trick, now it builds the wheel as src/jax-jaxlib-v0.4.16/dist/jaxlib-0.4.16-cp311-cp311-manylinux2014_x86_64.whl and makepkg can find it.

Not sure why, but even a cleanbuild with yay wasn't enough, I had to clone from AUR and makepkg -si manually, but when I did it worked just fine.

daskol commented on 2023-09-23 13:25 (UTC)

@h3ss Finally, I've fixed the issue. There was a typo in JAXLIB_RELEASE envvar. 😔

h3ss commented on 2023-09-23 02:51 (UTC) (edited on 2023-09-23 02:53 (UTC) by h3ss)

@daskol

I tried flushing the cache, building with a different AUR helper (yay vs paru) and also doing a git clone from the AUR and makepkg -si, the transcript of which you can see here:

https://pastebin.com/EesEmx94

In all circumstances, I get the same error. This goes for the python-jaxlib-cuda package as well. To be clear, the wheel does build successfully, it just doesn't finish making the package because the file name of the wheel doesn't match what makepkg expects it to be.

Could you clarify what the expected wheel file name is? What is the wheel file name when you build it in your environment?