Commit b8f2bc07 authored by Markus Kowalewski's avatar Markus Kowalewski
Browse files

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
parent 5438b830
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
    "FFLAGS=-fallow-argument-mismatch" # fix build with gfortran 10
  ] ++ optional useSlurm "--with-pm=slurm"
    ++ optional (network == "ethernet") "--with-device=ch3:sock"
    ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" ]
    ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" "--disable-ibv-dlopen" ]
    ++ optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"];

  doCheck = true;
@@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
    # /tmp/nix-build... ends up in the RPATH, fix it manually
    for entry in $out/bin/mpichversion $out/bin/mpivars; do
      echo "fix rpath: $entry"
      patchelf --set-rpath "$out/lib" $entry
      patchelf --allowed-rpath-prefixes ${builtins.storeDir} --shrink-rpath $entry
    done

    # Ensure the default compilers are the ones mvapich was built with