about summary refs log tree commit diff
path: root/pkgs/servers/computing
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@gmail.com>2024-01-17 16:25:49 +0100
committerMarkus Kowalewski <markus.kowalewski@gmail.com>2024-01-17 16:25:49 +0100
commita20f3db99526f44703fdf22518db0a524f5e0aea (patch)
treec1f8de8ac0419dceb7eaa5e0be3a07c8db6faeed /pkgs/servers/computing
parentf8a0d67b2e579cc2bca9c968ebf3f26b8432f1ca (diff)
slurm: fix to be able to work with pmix split outputs
Diffstat (limited to 'pkgs/servers/computing')
-rw-r--r--pkgs/servers/computing/slurm/default.nix9
1 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index 6e2b2e62d3b6f..08fdbcebb016f 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
   prePatch = ''
     substituteInPlace src/common/env.c \
         --replace "/bin/echo" "${coreutils}/bin/echo"
+
+    # Autoconf does not support split packages for pmix (libs and headers).
+    # Fix the path to the pmix libraries, so dlopen can find it.
+    substituteInPlace src/plugins/mpi/pmix/mpi_pmix.c \
+        --replace 'xstrfmtcat(full_path, "%s/", PMIXP_LIBPATH)' \
+                  'xstrfmtcat(full_path, "${lib.getLib pmix}/lib/")'
+
   '' + (lib.optionalString enableX11 ''
     substituteInPlace src/common/x11_util.c \
         --replace '"/usr/bin/xauth"' '"${xorg.xauth}/bin/xauth"'
@@ -68,7 +75,7 @@ stdenv.mkDerivation rec {
       "--with-yaml=${lib.getDev libyaml}"
       "--with-ofed=${lib.getDev rdma-core}"
       "--sysconfdir=/etc/slurm"
-      "--with-pmix=${pmix}"
+      "--with-pmix=${lib.getDev pmix}"
       "--with-bpf=${libbpf}"
       "--without-rpath" # Required for configure to pick up the right dlopen path
     ] ++ (optional enableGtk2  "--disable-gtktest")