Merge pull request #113105 from danieldk/cudnn-fixes

cudnn_cudatookit_11: add $ORIGIN/ to library RPATHs

Changed files
+6 -9
pkgs
development
libraries
science
math
cudnn
+6 -9
pkgs/development/libraries/science/math/cudnn/generic.nix
···
installPhase = ''
function fixRunPath {
p=$(patchelf --print-rpath $1)
-
patchelf --set-rpath "$p:${lib.makeLibraryPath [ stdenv.cc.cc ]}" $1
+
patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc ]}:\$ORIGIN/" $1
}
-
fixRunPath lib64/libcudnn.so
+
+
for lib in lib64/lib*.so; do
+
fixRunPath $lib
+
done
mkdir -p $out
cp -a include $out/include
···
# See the explanation in addOpenGLRunpath.
postFixup = ''
for lib in $out/lib/lib*.so; do
-
# patchelf fails on libcudnn_cnn_infer due to it being too big.
-
# Most programs will still get the RPATH since they link to
-
# other things.
-
# (https://github.com/NixOS/patchelf/issues/222)
-
if [ "$(basename $lib)" != libcudnn_cnn_infer.so ]; then
-
addOpenGLRunpath $lib
-
fi
+
addOpenGLRunpath $lib
done
'';