diff mbox series

[bug#74011] gnu: prrte: Record the absolute file name of ‘prted’.

Message ID 8cf9c3e955e22aa68741caa03a33bb28bc0aa73b.1729853141.git.ludo@gnu.org
State New
Headers show
Series [bug#74011] gnu: prrte: Record the absolute file name of ‘prted’. | expand

Commit Message

Ludovic Courtès Oct. 25, 2024, 10:46 a.m. UTC
From: Ludovic Courtès <ludovic.courtes@inria.fr>

Previously a command like:

  guix shell --pure openmpi@5 openssh intel-mpi-benchmarks \
    --with-input=openmpi@4=openmpi@5 slurm -- \
    salloc -N2 -- mpirun -np 2 --map-by node IMB-MPI1 PingPong

would silently fail due to ‘prted’ not being found in $PATH.

* gnu/packages/parallel.scm (prrte)[arguments]: Add
‘patch-prted-reference’ phase.

Change-Id: Iff30cb5a4dcc9e9cfe6638d518ee4f19561289a0
---
 gnu/packages/parallel.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)


base-commit: a1714de3aa4f60d211c166876c3515f96384b0c7

Comments

Andreas Enge Oct. 28, 2024, 9:24 a.m. UTC | #1
The patch passes QA. I am pushing it on behalf of the author who is AWK.

Andreas
diff mbox series

Patch

diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm
index 202a98b2bc..85f8a114c3 100644
--- a/gnu/packages/parallel.scm
+++ b/gnu/packages/parallel.scm
@@ -727,7 +727,15 @@  (define-public prrte
                     (("_ABSOLUTE")
                      "")
                     (("PRTE_CONFIGURE_CLI")
-                     "\"[elided to reduce closure]\"")))))
+                     "\"[elided to reduce closure]\""))))
+              (add-after 'unpack 'patch-prted-reference
+                (lambda _
+                  ;; Record the absolute file name of 'prted' instead of
+                  ;; assuming it will be found in $PATH at run time.
+                  (substitute* "src/runtime/prte_mca_params.c"
+                    (("prte_launch_agent =.*")
+                     (string-append "prte_launch_agent = \""
+                                    #$output "/bin/prted\";\n"))))))
 
           #:disallowed-references (list (canonical-package gcc))))
    (inputs (list libevent