| 22 Jan 2026 |
Gaétan Lepage | The version detection logic happens here and errors out here. | 20:48:39 |
Gaétan Lepage | Here's the stack trace when I re-enable the failing test:
______________________ ERROR collecting test_nvjitlink.py ______________________
tests/test_nvjitlink.py:62: in <module>
not check_nvjitlink_usable(), reason="nvJitLink not usable, maybe not installed or too old (<12.3)"
^^^^^^^^^^^^^^^^^^^^^^^^
tests/test_nvjitlink.py:58: in check_nvjitlink_usable
return inner_nvjitlink._inspect_function_pointer("__nvJitLinkVersion") != 0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cuda/bindings/_internal/nvjitlink.pyx:254: in cuda.bindings._internal.nvjitlink._inspect_function_pointer
???
cuda/bindings/_internal/nvjitlink.pyx:257: in cuda.bindings._internal.nvjitlink._inspect_function_pointer
???
cuda/bindings/_internal/nvjitlink.pyx:205: in cuda.bindings._internal.nvjitlink._inspect_function_pointers
???
cuda/bindings/_internal/nvjitlink.pyx:99: in cuda.bindings._internal.nvjitlink._check_or_init_nvjitlink
???
cuda/bindings/_internal/nvjitlink.pyx:57: in cuda.bindings._internal.nvjitlink.load_library
???
cuda/bindings/_internal/utils.pyx:137: in cuda.bindings._internal.utils.get_nvjitlink_dso_version_suffix
???
E cuda.bindings._internal.utils.NotSupportedError: only CUDA 12 driver is supported
------------------------------- Captured stdout --------------------------------
+++++++++++++++ 13010
| 22:27:19 |
Gaétan Lepage | The code block mentionned above returns 13010 which fails the 12000 <= driver_ver < 13000 check in cuda/bindings/_internal/utils.pyx. | 22:28:37 |
| 23 Jan 2026 |
Gaétan Lepage | Weird regression following the merge of staging-next... | 10:42:06 |
Ari Lotter | hm i'm getting an infinite hang on pytestCheckPhase for python3.12-keras3.13.1 since the 3.13.1 update 🤔 https://github.com/NixOS/nixpkgs/commit/73806a397d9f9360f331ed98202e5cecc1230548
building python3.12-keras-3.13.1 (pytestCheckPhase): keras/src/trainers/trainer_test.py::TestTrainer::test_fit_with_data_adapter_py_dataset_infinite_cw PASSED [ 94%] hang happens every time
nix-top shows
UID PID PPID STIME TIME COMMAND
30001 3422767 3422639 15:44 00:00:00 bash -e /nix/store/l622p70vy8k5sh7y5wizi5f2mic6ynpg-source-stdenv.sh /nix/store/shkw4qm9qcw5sc5n1k5jznc83ny02r39-default-builder.sh
30001 3425989 3422767 15:45 00:17:09 /nix/store/iizfzmqjdfvbyx82gqw92glb5zl6m4my-python3-3.12.12/bin/python3.12 -m pytest --ignore-glob=keras/src/layers/preprocessing/data_layer_test.py --ignore-glob=keras/src/layers/preprocessing/image_preprocessing/resizing_test.py --ignore-glob=keras/src/layers/preprocessing/rescaling_test.py --ignore-glob=keras/src/trainers/data_adapters/grain_dataset_adapter_test.py --ignore-glob=keras/src/export/onnx_test.py --ignore-glob=integration_tests/dataset_tests --ignore-glob=keras/src/applications/applications_test.py --ignore-glob=integration_tests/jax_custom_fit_test.py --ignore-glob=integration_tests/tf_distribute_training_test.py --ignore-glob=integration_tests/torch_custom_fit_test.py --ignore-glob=integration_tests/torch_workflow_test.py --ignore-glob=keras/src/backend/tensorflow/saved_model_test.py -k not (test_fit_with_data_adapter_grain_dataloader) and not (test_fit_with_data_adapter_grain_datast) and not (test_fit_with_data_adapter_grain_datast_with_len) and not (test_image_dataset_from_directory_binary_grain) and not (test_image_dataset_from_directory_color_modes_grain) and not (test_image_dataset_from_directory_crop_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_follow_links_grain) and not (test_image_dataset_from_directory_manual_labels_grain) and not (test_image_dataset_from_directory_multiclass_grain) and not (test_image_dataset_from_directory_no_labels_grain) and not (test_image_dataset_from_directory_not_batched_grain) and not (test_image_dataset_from_directory_pad_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_shuffle_grain) and not (test_image_dataset_from_directory_validation_split_grain) and not (test_sample_count_grain) and not (test_text_dataset_from_directory_binary_grain) and not (test_text_dataset_from_directory_follow_links_grain) and not (test_text_dataset_from_directory_manual_labels_grain) and not (test_text_dataset_from_directory_multiclass_grain) and not (test_text_dataset_from_directory_not_batched_grain) and not (test_text_dataset_from_directory_standalone_grain) and not (test_text_dataset_from_directory_validation_split_grain) and not (test_keras_imports) and not (test_reloading_default_saved_model)
30001 3797431 3425989 15:59 00:00:00 /nix/store/iizfzmqjdfvbyx82gqw92glb5zl6m4my-python3-3.12.12/bin/python3.12 -m pytest --ignore-glob=keras/src/layers/preprocessing/data_layer_test.py --ignore-glob=keras/src/layers/preprocessing/image_preprocessing/resizing_test.py --ignore-glob=keras/src/layers/preprocessing/rescaling_test.py --ignore-glob=keras/src/trainers/data_adapters/grain_dataset_adapter_test.py --ignore-glob=keras/src/export/onnx_test.py --ignore-glob=integration_tests/dataset_tests --ignore-glob=keras/src/applications/applications_test.py --ignore-glob=integration_tests/jax_custom_fit_test.py --ignore-glob=integration_tests/tf_distribute_training_test.py --ignore-glob=integration_tests/torch_custom_fit_test.py --ignore-glob=integration_tests/torch_workflow_test.py --ignore-glob=keras/src/backend/tensorflow/saved_model_test.py -k not (test_fit_with_data_adapter_grain_dataloader) and not (test_fit_with_data_adapter_grain_datast) and not (test_fit_with_data_adapter_grain_datast_with_len) and not (test_image_dataset_from_directory_binary_grain) and not (test_image_dataset_from_directory_color_modes_grain) and not (test_image_dataset_from_directory_crop_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_follow_links_grain) and not (test_image_dataset_from_directory_manual_labels_grain) and not (test_image_dataset_from_directory_multiclass_grain) and not (test_image_dataset_from_directory_no_labels_grain) and not (test_image_dataset_from_directory_not_batched_grain) and not (test_image_dataset_from_directory_pad_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_shuffle_grain) and not (test_image_dataset_from_directory_validation_split_grain) and not (test_sample_count_grain) and not (test_text_dataset_from_directory_binary_grain) and not (test_text_dataset_from_directory_follow_links_grain) and not (test_text_dataset_from_directory_manual_labels_grain) and not (test_text_dataset_from_directory_multiclass_grain) and not (test_text_dataset_from_directory_not_batched_grain) and not (test_text_dataset_from_directory_standalone_grain) and not (test_text_dataset_from_directory_validation_split_grain) and not (test_keras_imports) and not (test_reloading_default_saved_model)
30001 3797433 3425989 15:59 00:00:00 /nix/store/iizfzmqjdfvbyx82gqw92glb5zl6m4my-python3-3.12.12/bin/python3.12 -m pytest --ignore-glob=keras/src/layers/preprocessing/data_layer_test.py --ignore-glob=keras/src/layers/preprocessing/image_preprocessing/resizing_test.py --ignore-glob=keras/src/layers/preprocessing/rescaling_test.py --ignore-glob=keras/src/trainers/data_adapters/grain_dataset_adapter_test.py --ignore-glob=keras/src/export/onnx_test.py --ignore-glob=integration_tests/dataset_tests --ignore-glob=keras/src/applications/applications_test.py --ignore-glob=integration_tests/jax_custom_fit_test.py --ignore-glob=integration_tests/tf_distribute_training_test.py --ignore-glob=integration_tests/torch_custom_fit_test.py --ignore-glob=integration_tests/torch_workflow_test.py --ignore-glob=keras/src/backend/tensorflow/saved_model_test.py -k not (test_fit_with_data_adapter_grain_dataloader) and not (test_fit_with_data_adapter_grain_datast) and not (test_fit_with_data_adapter_grain_datast_with_len) and not (test_image_dataset_from_directory_binary_grain) and not (test_image_dataset_from_directory_color_modes_grain) and not (test_image_dataset_from_directory_crop_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_follow_links_grain) and not (test_image_dataset_from_directory_manual_labels_grain) and not (test_image_dataset_from_directory_multiclass_grain) and not (test_image_dataset_from_directory_no_labels_grain) and not (test_image_dataset_from_directory_not_batched_grain) and not (test_image_dataset_from_directory_pad_to_aspect_ratio_grain) and not (test_image_dataset_from_directory_shuffle_grain) and not (test_image_dataset_from_directory_validation_split_grain) and not (test_sample_count_grain) and not (test_text_dataset_from_directory_binary_grain) and not (test_text_dataset_from_directory_follow_links_grain) and not (test_text_dataset_from_directory_manual_labels_grain) and not (test_text_dataset_from_directory_multiclass_grain) and not (test_text_dataset_from_directory_not_batched_grain) and not (test_text_dataset_from_directory_standalone_grain) and not (test_text_dataset_from_directory_validation_split_grain) and not (test_keras_imports) and not (test_reloading_default_saved_model)
| 16:42:06 |
Ari Lotter | ah lol still happens on 3.13.0 - problem is that it's not binary cached and i think just hangs forever on this system (that weird intel server i have) 😅 | 17:48:54 |
Ari Lotter | does nixpkgs have a mechanism for marking a package's checks as broken on a specific CPU generation? | 18:01:03 |
connor (burnt/out) (UTC-8) | Nix barely knows the platform; it doesn’t know what generation the hardware is (or at least doesn’t make it available) | 19:42:59 |
apyh | yeah, makes sense. 's frustrating, means i have to maintain some out of tree list of overrides for checks to disable for specific packages | 20:06:37 |
Robbie Buxton | Have you tried nixbuild.net? | 20:11:49 |
Robbie Buxton | I use it and it’s fantastic | 20:11:58 |
Robbie Buxton | Never had an issue building anything there | 20:12:43 |
connor (burnt/out) (UTC-8) | There’s some support for architecture feature sets but you’ll have to rebuild everything | 20:30:36 |
apyh | yeah, i use garnix.io for CI stuff, this is more frustrating that i have a ton of compute available to me & i have to reserve a gpu node anyways to run the stuff I'm testing, but I can't build it on the same box :p | 20:47:22 |
apyh | probably something to report w the upstream package though :) | 20:47:33 |
| 25 Jan 2026 |
Gaétan Lepage | So, it seems that the latest glibc (2.42) brought by the latest staging-next iteration does not play well with cuda 12.8.
This at least breaks bitsandbytes.
See more details here: https://github.com/NixOS/nixpkgs/pull/483507 | 00:25:28 |
Ari Lotter | https://github.com/NixOS/nixpkgs/pull/471394 finally got a working fix in, just using appendRunpaths :) | 01:52:35 |
| 26 Jan 2026 |
| Mohamed Hisham Abdelzaher joined the room. | 21:10:42 |
connor (burnt/out) (UTC-8) | Set it up to merge, apologies for how long that took. Thank you for the fix, Ari :) | 23:26:40 |
Gaétan Lepage | Thanks for the reviews connor (burnt/out) (UTC-8).
Btw, if you have a minute for the cuda-bindings PR, that would help me unblocking torch.
https://github.com/NixOS/nixpkgs/pull/482638 | 23:36:41 |
connor (burnt/out) (UTC-8) | Just reviewed, looks good. You might need to update the PR description to change python3Packages.cuda-bindings: init at 13.1.1 though | 23:40:28 |
Gaétan Lepage | Thanks! | 23:46:49 |
| 29 Jan 2026 |
| @oh_yeah:matrix.org left the room. | 00:14:51 |
Gaétan Lepage | Hello everyone!
I want to share some news regarding the progress yorik.sar and I made on the infra. Some were already communicated, but it doesn't work to summarize everything.
- We have been building and caching all
cudaSupport-sensitive nixpkgs packages on both stable and unstable nixpkgs channels on our Hydra instance for a few weeks. You can check the cuda-packages-unstable and cuda-packages-stable jobsets.
- All
gpuCheck instances across nixpkgs are now automatically and exhaustively collected and built in Hydra as well. See the cuda-gpu-checks-unstable and cuda-gpu-checks-stable jobsets. For a reminder, gpuChecks are derivations that run some package tests that need access to a physical GPU.
- Regarding package maintenance and updates, recent times were hectic as nixpkgs received several breaking changes since the beginning of 2026 (recursing into
python314Packages, update to GCC 15 and more staging-next treats). Besides, here are notable ones:
- This is still an idea, but my plan is to create two cuda-specific nix channels:
nixos-unstable-cuda and nixos-stable-cuda where we could ensure that a curated set of package builds and tests are succesful (release blockers). I would be glad to hearing your feedback on this idea.
We're trying our best to move things forward as fast as possible. Unfortunately, time and compute resources are limited, so it's never fast enough 😅
Have a nice day! | 09:26:20 |
Gaétan Lepage | * Hello everyone!
I want to share some news regarding the progress yorik.sar, connor (burnt/out) (UTC-8), SomeoneSerge (back on matrix) and I made recently. Some were already communicated, but it doesn't work to summarize everything.
- We have been building and caching all
cudaSupport-sensitive nixpkgs packages on both stable and unstable nixpkgs channels on our Hydra instance for a few weeks. You can check the cuda-packages-unstable and cuda-packages-stable jobsets.
- All
gpuCheck instances across nixpkgs are now automatically and exhaustively collected and built in Hydra as well. See the cuda-gpu-checks-unstable and cuda-gpu-checks-stable jobsets. For a reminder, gpuChecks are derivations that run some package tests that need access to a physical GPU.
- Regarding package maintenance and updates, recent times were hectic as nixpkgs received several breaking changes since the beginning of 2026 (recursing into
python314Packages, update to GCC 15 and more staging-next treats). Besides, here are notable ones:
- This is still an idea, but my plan is to create two cuda-specific nix channels:
nixos-unstable-cuda and nixos-stable-cuda where we could ensure that a curated set of package builds and tests are succesful (release blockers). I would be glad to hearing your feedback on this idea.
We're trying our best to move things forward as fast as possible. Unfortunately, time and compute resources are limited, so it's never fast enough 😅
Have a nice day! | 09:26:59 |
Gaétan Lepage | * Hello everyone!
I want to share some news regarding the progress yorik.sar, connor (burnt/out) (UTC-8), SomeoneSerge (back on matrix) and I made recently. Some were already communicated, but it doesn't work to summarize everything.
- We have been building and caching all
cudaSupport-sensitive nixpkgs packages on both stable and unstable nixpkgs channels on our Hydra instance for a few weeks. You can check the cuda-packages-unstable and cuda-packages-stable jobsets.
- All
gpuCheck instances across nixpkgs are now automatically and exhaustively collected and built in Hydra as well. See the cuda-gpu-checks-unstable and cuda-gpu-checks-stable jobsets. For a reminder, gpuChecks are derivations that run some package tests that need access to a physical GPU.
- Regarding package maintenance and updates, recent times were hectic as nixpkgs received several breaking changes since the beginning of 2026 (recursing into
python314Packages, update to GCC 15 and more staging-next treats). Besides, here are notable ones:
- This is still an idea, but my plan is to create two cuda-specific nix channels:
nixos-unstable-cuda and nixos-25.11-cuda where we could ensure that a curated set of package builds and tests are succesful (release blockers). I would be glad to hearing your feedback on this idea.
We're trying our best to move things forward as fast as possible. Unfortunately, time and compute resources are limited, so it's never fast enough 😅
Have a nice day! | 09:27:55 |
hexa (UTC+1) | nixos-25.11 should be fairly cheap on rebuilds | 14:12:03 |
hexa (UTC+1) | the opencv 4.13.0 blocks openvino updates | 14:12:22 |
hexa (UTC+1) | * the opencv 4.13.0 update blocks openvino updates | 14:12:27 |
hexa (UTC+1) | * the opencv 4.13.0 update is required to update openvino too | 14:12:44 |