diff options
author | Connor Baker <connor.baker@tweag.io> | 2023-10-31 14:43:55 +0000 |
---|---|---|
committer | Connor Baker <connor.baker@tweag.io> | 2023-11-06 00:53:11 +0000 |
commit | 2b47345ff54be47f71000722aafaf3d0a124c35c (patch) | |
tree | 038658756c8e4e7d697c7e8a60db4c9671adaef6 /pkgs/development/libraries/glibc/common.nix | |
parent | f190372f1f9c6e714769d621a682d7c150f08a81 (diff) | |
download | nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar.gz nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar.bz2 nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar.lz nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar.xz nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.tar.zst nixpkgs-2b47345ff54be47f71000722aafaf3d0a124c35c.zip |
glibc: add NVCC include guards to fix ARM CUDA compilation
Diffstat (limited to 'pkgs/development/libraries/glibc/common.nix')
-rw-r--r-- | pkgs/development/libraries/glibc/common.nix | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix index 646242de611..3e17817c0ba 100644 --- a/pkgs/development/libraries/glibc/common.nix +++ b/pkgs/development/libraries/glibc/common.nix @@ -97,6 +97,18 @@ stdenv.mkDerivation ({ */ ./reenable_DT_HASH.patch ] + /* NVCC does not support ARM intrinsics. Since <math.h> is pulled in by almost + every HPC piece of software, without this patch CUDA compilation on ARM + is effectively broken. See + https://forums.developer.nvidia.com/t/nvcc-fails-to-build-with-arm-neon-instructions-cpp-vs-cu/248355/2. + */ + ++ ( + let + isAarch64 = stdenv.buildPlatform.isAarch64 || stdenv.hostPlatform.isAarch64; + isLinux = stdenv.buildPlatform.isLinux || stdenv.hostPlatform.isLinux; + in + lib.optional (isAarch64 && isLinux) ./0001-aarch64-math-vector.h-add-NVCC-include-guard.patch + ) ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch ++ lib.optional stdenv.buildPlatform.isDarwin ./darwin-cross-build.patch; @@ -276,7 +288,7 @@ stdenv.mkDerivation ({ license = licenses.lgpl2Plus; - maintainers = with maintainers; [ eelco ma27 ]; + maintainers = with maintainers; [ eelco ma27 connorbaker ]; platforms = platforms.linux; } // (args.meta or {}); }) |