Merge pull request #113105 from danieldk/cudnn-fixes
cudnn_cudatookit_11: add $ORIGIN/ to library RPATHs
This commit is contained in:
commit
406c33bb3d
@ -25,9 +25,12 @@ stdenv.mkDerivation {
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
function fixRunPath {
|
function fixRunPath {
|
||||||
p=$(patchelf --print-rpath $1)
|
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
|
mkdir -p $out
|
||||||
cp -a include $out/include
|
cp -a include $out/include
|
||||||
@ -38,13 +41,7 @@ stdenv.mkDerivation {
|
|||||||
# See the explanation in addOpenGLRunpath.
|
# See the explanation in addOpenGLRunpath.
|
||||||
postFixup = ''
|
postFixup = ''
|
||||||
for lib in $out/lib/lib*.so; do
|
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
|
addOpenGLRunpath $lib
|
||||||
fi
|
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user