Skip to content

cudaPackages_{11,12_0,12_1,12_2,12_3,12_4,12_5}: drop#434827

Merged
ConnorBaker merged 14 commits intoNixOS:masterfrom
emilazy:push-zwpzympqvwzw
Aug 22, 2025
Merged

cudaPackages_{11,12_0,12_1,12_2,12_3,12_4,12_5}: drop#434827
ConnorBaker merged 14 commits intoNixOS:masterfrom
emilazy:push-zwpzympqvwzw

Conversation

@emilazy
Copy link
Member

@emilazy emilazy commented Aug 18, 2025

Belatedly aligning the CUDA versions we ship with the compilers we expect to take into 25.11, after #342112.

cc @GaetanLepage – do you remember why you explicitly pinned libtensorflow to use the source build in #345658?

cc @de11n for DCGM again.

Things done

  • Built on platform:
    • x86_64-linux (the directly‐touched packages at the start that don’t support aarch64-linux)
    • aarch64-linux (the other directly‐touched packages at the start)
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@emilazy
Copy link
Member Author

emilazy commented Aug 18, 2025

Looks like libtensorflow has been broken for ages, actually, and I don’t know exactly how to get what it provided out of the binary Python package, so I’ve just left it alone for now.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 6.topic: python Python is a high-level, general-purpose programming language. 8.has: changelog This PR adds or changes release notes 6.topic: cuda Parallel computing platform and API labels Aug 18, 2025
@nixpkgs-ci nixpkgs-ci bot added the 8.has: documentation This PR adds or changes documentation label Aug 18, 2025
@emilazy emilazy force-pushed the push-zwpzympqvwzw branch from 804aab7 to c6c85ae Compare August 18, 2025 21:19
@GaetanLepage
Copy link
Contributor

Yes, we have switched to the binary wheels for tensorflow as we couldn't adapt to the build system (bazel) changes that came with a certain release.
No need to bother with the source build of tensorflow: it is unfortunately broken and outdated.

@emilazy
Copy link
Member Author

emilazy commented Aug 18, 2025

But you pointed libtensorflow to the source build in fb13561, which is the part I’m confused about.

@GaetanLepage
Copy link
Contributor

But you pointed libtensorflow to the source build in fb13561, which is the part I’m confused about.

Before tensorflow was pointing to tensorflow-build. I didn't want to change the behavior of this line:

libtensorflow = python3.pkgs.tensorflow.libtensorflow;

so I explicitly changed this instance of tensorflow to tensorflow-build.
Anyway, I'm pretty sure libtensorflow does not make sense (and might even not exist) with tensorflow-bin.

@emilazy
Copy link
Member Author

emilazy commented Aug 18, 2025

Fair enough. I see some .so files in python3Packages.tensorflow-bin, but since it’s been broken since December it’s out of scope for this PR anyway.

@GaetanLepage
Copy link
Contributor

but since it’s been broken since December

python313Packages.tensorflow-bin is broken as tensorflow 2.19.0 does not support python 3.13. python312Packages.tensorflow-bin is still fine.

Anyway, all good regarding this PR :)

@emilazy
Copy link
Member Author

emilazy commented Aug 18, 2025

I mean libtensorflow.

@emilazy emilazy linked an issue Aug 18, 2025 that may be closed by this pull request
@prusnak
Copy link
Member

prusnak commented Aug 22, 2025

If cupy and cudatoolkit-legacy-runfile are failing on master then I’m fine with merging this.

with this PR cupy fails because libcutensor is broken:

error: builder for '/nix/store/dbg7d1apyyvlz93s47ys1ph90gphpvnb-libcutensor-2.1.0.9.drv' failed with exit code 1;
       last 20 log lines:
       > structuredAttrs is enabled
       > Sourcing auto-add-driver-runpath-hook
       > Using autoAddDriverRunpath
       > Sourcing fix-elf-files.sh
       > Sourcing mark-for-cudatoolkit-root-hook
       > Running phase: unpackPhase
       > unpacking source archive /nix/store/pnxszm8gn3fh7d84xa6gvmvq6dw829vl-libcutensor-linux-x86_64-2.1.0.9-archive.tar.xz
       > source root is libcutensor-linux-x86_64-2.1.0.9-archive
       > setting SOURCE_DATE_EPOCH to timestamp 1737023194 of file "libcutensor-linux-x86_64-2.1.0.9-archive/lib/12/libcutensorMg.so.2.1.0"
       > unpackPhase completed in 32 seconds
       > Running phase: patchPhase
       > Running phase: updateAutotoolsGnuConfigScriptsPhase
       > Running phase: configurePhase
       > no configure script, doing nothing
       > Running phase: installPhase
       > libcutensor: 'lib/12.8' does not exist, only found:
       > lib/11
       > lib/11.0
       > lib/12
       > This release might not support your CUDA version

@emilazy emilazy force-pushed the push-zwpzympqvwzw branch from e5026cc to 348dce4 Compare August 22, 2025 11:56
@prusnak
Copy link
Member

prusnak commented Aug 22, 2025

with changes in 348dce4 both cudaPackages_12.cutensor and python312Packages.cupy build (or rather they do not trigger a rebuild because they are unchanged and cached)

@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

Yes, sorry about that; I messed up removing the obsolete version conditionals. I tried to verify that the derivation hash of cudaPackages stuff didn’t change, but apparently my test omitted cutensor. This should trigger very few rebuilds now , but another nixpkgs-review check would be great.

Perhaps cudatoolkit-legacy-runfile should be removed, since cudatoolkit itself seems due for removal and the runfile‐based version doesn’t work? (Do NVIDIA still even ship runfiles?)

@ConnorBaker
Copy link
Contributor

NVIDIA does still ship the runfile installer, but cudatoolkit-legacy-runfile can probably be removed. I’m not so sure about cudatoolkit, however — some projects assume all dependencies are in a single directory and updating them to properly specify their dependencies isn’t always feasible, so I think it helps to keep it around.

I’ll try running another nixpkgs-review later today.

@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

cudatoolkit itself works fine; there’s just a TODO above it saying that it should be dropped once everything in‐tree has been migrated to split‐out packages. If that’s unrealistic the TODO should probably be softened.

@emilazy emilazy force-pushed the push-zwpzympqvwzw branch from 348dce4 to 044be1f Compare August 22, 2025 15:04
@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

(Dropped a few more obsolete constituent package versions and out‐of-tree conditions as a result of looking into that.)

EOL and out of security support for over half a year; only used by
outdated TensorFlow source builds. Since we use `tensorflow-bin`
by default now and CUDA 11 and GCC 12 are both being removed, I
think it’s okay to mark these broken until updates can be finished
and merged.
Only used by the broken TensorFlow source build.
@emilazy emilazy force-pushed the push-zwpzympqvwzw branch from 044be1f to 5e733d7 Compare August 22, 2025 15:18
@nix-owners nix-owners bot requested a review from aidalgol August 22, 2025 15:25
@prusnak
Copy link
Member

prusnak commented Aug 22, 2025

cudatoolkit-legacy-runfile can probably be removed

I think we should do this (not necessarily part of this PR). There is nothing in nixpkgs that depends on it and keeping this makes cuda updates more work (because one has to download the huge runfile and compute a hash to put it in pkgs/development/cuda-modules/cudatoolkit/releases.nix)

+1 for keeping cudatoolkit though, this is still needed for some packages in nixpkgs

@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

Yeah, it sounds good to drop. But I’ll leave that to you guys :)

@ConnorBaker
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 434827 --extra-nixpkgs-config '{ allowAliases = false; allowBroken = false; allowUnfree = true; checkMeta = true; cudaCapabilities = [ "8.9" ]; cudaSupport = true; }'
Commit: 5e733d73a6defa0188e9e3a16fdcde6e0a7b69ed


x86_64-linux

⏩ 1 package blacklisted:
  • tests.nixos-functions.nixos-test
❌ 9 packages failed to build:
  • cudaPackages.cudatoolkit-legacy-runfile
  • cudaPackages.cudatoolkit-legacy-runfile.doc
  • cudaPackages.cudatoolkit-legacy-runfile.lib
  • monado
  • python312Packages.tensorrt
  • python312Packages.tensorrt.dist
  • python313Packages.tensorrt
  • python313Packages.tensorrt.dist
  • visp
✅ 82 packages built:
  • alpaca
  • ctranslate2
  • dcgm
  • envision
  • hashcat
  • home-assistant-component-tests.tami4
  • lacus
  • lacus.dist
  • librealsense (librealsenseWithCuda)
  • librealsense-gui
  • librealsense-gui.dev
  • librealsense.dev (librealsenseWithCuda.dev)
  • libretranslate (python313Packages.libretranslate)
  • libretranslate.dist (python313Packages.libretranslate.dist)
  • newelle
  • nixpkgs-manual
  • open-webui
  • open-webui.dist
  • prometheus-dcgm-exporter
  • python312Packages.argos-translate-files
  • python312Packages.argos-translate-files.dist
  • python312Packages.argostranslate
  • python312Packages.argostranslate.dist
  • python312Packages.ctranslate2
  • python312Packages.ctranslate2.dist
  • python312Packages.faster-whisper
  • python312Packages.faster-whisper.dist
  • python312Packages.lacuscore
  • python312Packages.lacuscore.dist
  • python312Packages.libretranslate
  • python312Packages.libretranslate.dist
  • python312Packages.markitdown
  • python312Packages.markitdown.dist
  • python312Packages.paddle2onnx
  • python312Packages.paddle2onnx.dist
  • python312Packages.paddleocr
  • python312Packages.paddleocr.dist
  • python312Packages.paddlepaddle
  • python312Packages.paddlepaddle.dist
  • python312Packages.pypasser
  • python312Packages.pypasser.dist
  • python312Packages.pyrealsense2 (python312Packages.pyrealsense2WithCuda)
  • python312Packages.pyrealsense2.dev (python312Packages.pyrealsense2WithCuda.dev)
  • python312Packages.speechrecognition
  • python312Packages.speechrecognition.dist
  • python312Packages.tami4edgeapi
  • python312Packages.tami4edgeapi.dist
  • python312Packages.translatehtml
  • python312Packages.translatehtml.dist
  • python312Packages.whisperx
  • python312Packages.whisperx.dist
  • python313Packages.argos-translate-files
  • python313Packages.argos-translate-files.dist
  • python313Packages.argostranslate
  • python313Packages.argostranslate.dist
  • python313Packages.ctranslate2
  • python313Packages.ctranslate2.dist
  • python313Packages.faster-whisper
  • python313Packages.faster-whisper.dist
  • python313Packages.lacuscore
  • python313Packages.lacuscore.dist
  • python313Packages.markitdown
  • python313Packages.markitdown.dist
  • python313Packages.pypasser
  • python313Packages.pypasser.dist
  • python313Packages.pyrealsense2 (python313Packages.pyrealsense2WithCuda)
  • python313Packages.pyrealsense2.dev (python313Packages.pyrealsense2WithCuda.dev)
  • python313Packages.speechrecognition
  • python313Packages.speechrecognition.dist
  • python313Packages.tami4edgeapi
  • python313Packages.tami4edgeapi.dist
  • python313Packages.translatehtml
  • python313Packages.translatehtml.dist
  • whisperx (python313Packages.whisperx)
  • whisperx.dist (python313Packages.whisperx.dist)
  • rtabmap
  • whisper-ctranslate2
  • whisper-ctranslate2.dist
  • wifite2
  • wifite2.dist
  • wyoming-faster-whisper
  • wyoming-faster-whisper.dist

Error logs: `x86_64-linux`
cudaPackages.cudatoolkit-legacy-runfile
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnppig.so.12.3.3.100
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvJitLink.so.12.8.93
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libaccinj64.so.12.8.90
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcufft.so.11.3.3.83
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvrtc-builtins.alt.so.12.8.93
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvjpeg.so.12.3.5.92
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcusolverMg.so.11.7.3.90
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcublasLt.so.12.8.4.1
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvperf_target.so
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libpcsamplingutil.so
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcusparse.so.12.5.8.93
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvperf_host.so
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcufftw.so.11.3.3.83
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnvToolsExt.so.1.0.0
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libcublas.so.12.8.4.1
autoFixElfFiles: using addDriverRunpath to fix /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/libnpps.so.12.3.3.100
autoFixElfFiles: using addDriverRunpath to fix /nix/store/4h1i0h72rvd47nks0ldnh50ps52icn5g-cudatoolkit-12.8.1-lib/lib/libcudart.so.12.8.90
ERROR: noBrokenSymlinks: the symlink /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/include/include points to a missing target: /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/include/targets/x86_64-linux/include
ERROR: noBrokenSymlinks: the symlink /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/lib64 points to a missing target: /nix/store/blqaknyldk8hi5cqbbzrjv1w2kpbclhx-cudatoolkit-12.8.1/lib/targets/x86_64-linux/lib
ERROR: noBrokenSymlinks: found 2 dangling symlinks, 0 reflexive symlinks and 0 unreadable symlinks
monado
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /nix/store/67x7pknz0qa2j16x02idf0x98lpcspah-gcc-wrapper-14.3.0/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Python3: /nix/store/9yh9ak97gn659bk4d3n411fx6c0ng7s2-python3-3.13.5/bin/python3.13 (found version "3.13.5") found components: Interpreter
-- Found Eigen3: /nix/store/gbskkg1v3y2x5zz6f0kwhcgaxlnpb5wf-eigen-3.4.0-unstable-2022-05-19/include/eigen3 (Required is at least version "3")
-- Found Vulkan: /nix/store/mcc5zsprwwrkxbvi2j1s2kvhfx9pk23a-vulkan-loader-1.4.313.0/lib/libvulkan.so (found version "1.4.313") found components: glslc glslangValidator
-- Found HIDAPI: /nix/store/9mbxvvfn48yh3s69kdci2zlvvfqy3l79-hidapi-0.15.0/include/hidapi  found components: any
-- Found PkgConfig: /nix/store/7vrzhnby95407cbbahn3fj3y98qifgby-pkg-config-wrapper-0.29.2/bin/pkg-config (found version "0.29.2")
-- Found bluetooth: /nix/store/9s8r7f3ijyhmc5v379iv8qcjjqwhxsgx-bluez-5.83/lib/libbluetooth.so
-- Found OpenHMD: /nix/store/khm7gs615fgakcj732fy4yb8zavn420b-openhmd-0.3.0/include
CMake Error at /nix/store/a3w3ka2d796ghlhf31il839c0658m5ih-cmake-3.31.7/share/cmake-3.31/Modules/FindCUDAToolkit.cmake:896 (message):
  Could not find nvcc, please set CUDAToolkit_ROOT.
Call Stack (most recent call first):
  /nix/store/2rds81gnibkka87lxm3d15x4ppcasf4n-opencv-4.11.0/lib/cmake/opencv4/OpenCVConfig.cmake:86 (find_package)
  /nix/store/2rds81gnibkka87lxm3d15x4ppcasf4n-opencv-4.11.0/lib/cmake/opencv4/OpenCVConfig.cmake:108 (find_host_package)
  CMakeLists.txt:93 (find_package)

-- Configuring incomplete, errors occurred!

visp
-- Found OpenMP: TRUE (found version "4.5")
-- openmp found
-- eigen3 found
-- Found Coin3D: /nix/store/gbbnr46v5fxkhs85jvs0pszvdsm14n8w-coin-4.0.5/lib/libCoin.so
-- coin3d found
-- realsense2 found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- threads found
CMake Error at /nix/store/a3w3ka2d796ghlhf31il839c0658m5ih-cmake-3.31.7/share/cmake-3.31/Modules/FindCUDAToolkit.cmake:896 (message):
  Could not find nvcc, please set CUDAToolkit_ROOT.
Call Stack (most recent call first):
  cmake/VISPUtils.cmake:49 (find_package)
  /nix/store/2rds81gnibkka87lxm3d15x4ppcasf4n-opencv-4.11.0/lib/cmake/opencv4/OpenCVConfig.cmake:108 (find_host_package)
  cmake/VISPUtils.cmake:530 (find_package)
  CMakeLists.txt:566 (VP_OPTION)

-- Configuring incomplete, errors occurred!

@ConnorBaker
Copy link
Contributor

Thank you again for taking this on, @emilazy!

@ConnorBaker ConnorBaker merged commit 543546a into NixOS:master Aug 22, 2025
23 checks passed
@github-project-automation github-project-automation bot moved this from New to ✅ Done in CUDA Team Aug 22, 2025
@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 3+ This PR was reviewed and approved by three or more persons. and removed 12.approvals: 2 This PR was reviewed and approved by two persons. labels Aug 22, 2025
@emilazy
Copy link
Member Author

emilazy commented Aug 22, 2025

Anything for a diffstat this negative 😆

Seriously though, thanks for the quick and thorough review! I will probably ping CUDA maintainers ahead of time to handle compilers due for removal in future, as it should hopefully be a much more mundane task when done incrementally than when it’s catching up on years of backlog like this.

@emilazy emilazy deleted the push-zwpzympqvwzw branch August 22, 2025 21:58
@prusnak
Copy link
Member

prusnak commented Aug 23, 2025

cudatoolkit-legacy-runfile drop PR in #436150

@SomeoneSerge
Copy link
Contributor

SomeoneSerge commented Aug 26, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: cuda Parallel computing platform and API 6.topic: python Python is a high-level, general-purpose programming language. 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 1-10 This PR causes between 1 and 10 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 3+ This PR was reviewed and approved by three or more persons. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Remove CUDA 11?

6 participants