Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)

mvapich: fix RPATH issues and infiniband build

The rpath fix elimnated too much and thus disabled the mpichversion
binary. Diasabling dlopen for infiniband libraries fixes the build for
the infinband interface option.

With this patch scalapack completes all tests for the infiniband and
omnipath interface selection. However, ethernet is still broken with
for the scalapack tests. See https://github.com/NixOS/nixpkgs/issues/258599

+2 -2
+2 -2
pkgs/development/libraries/mvapich/default.nix
··· 45 45 "FFLAGS=-fallow-argument-mismatch" # fix build with gfortran 10 46 46 ] ++ optional useSlurm "--with-pm=slurm" 47 47 ++ optional (network == "ethernet") "--with-device=ch3:sock" 48 - ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" ] 48 + ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" "--disable-ibv-dlopen" ] 49 49 ++ optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"]; 50 50 51 51 doCheck = true; ··· 54 54 # /tmp/nix-build... ends up in the RPATH, fix it manually 55 55 for entry in $out/bin/mpichversion $out/bin/mpivars; do 56 56 echo "fix rpath: $entry" 57 - patchelf --set-rpath "$out/lib" $entry 57 + patchelf --allowed-rpath-prefixes ${builtins.storeDir} --shrink-rpath $entry 58 58 done 59 59 60 60 # Ensure the default compilers are the ones mvapich was built with