From 6df2a50ac4172b7109e4b86656ffd989e98184d7 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 12 May 2018 17:53:54 +0200 Subject: gnu: openmpi: Update to 3.0.1. * gnu/packages/mpi.scm (openmpi): Update to 3.0.1. [arguments]: In 'remove-absolute' phase, adjust romio file name. * gnu/packages/maths.scm (scalapack)[arguments]: Add 'set-test-environment' phase. (slepc-openmpi)[arguments]: Likewise. (mumps-openmpi)[arguments]: Likewise. (superlu-dist)[arguments]: In 'check' phase, set 'OMPI_MCA_plm_rsh_agent'. (scotch)[arguments]: In 'build-esmumps', likewise. (p4est)[arguments]: Add 'set-test-environment' phase. (hypre-openmpi)[arguments]: Likewise. --- gnu/packages/maths.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++------ gnu/packages/mpi.scm | 8 +++--- 2 files changed, 70 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 73c79c3f81..a36d2333e6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -554,7 +554,16 @@ (define-public scalapack ("fortran" ,gfortran) ("lapack" ,lapack))) ;for testing only (arguments - `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES"))) + `(#:configure-flags `("-DBUILD_SHARED_LIBS:BOOL=YES") + #:phases (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because + ;; 'ssh' could not be found in $PATH. Define this + ;; variable to placate Open MPI without adding a + ;; dependency on OpenSSH (the agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t))))) (home-page "http://www.netlib.org/scalapack/") (synopsis "Library for scalable numerical linear algebra") (description @@ -1786,6 +1795,18 @@ (define-public slepc-complex (define-public slepc-openmpi (package (inherit slepc) (name "slepc-openmpi") + (arguments + (substitute-keyword-arguments (package-arguments slepc) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (inputs `(("mpi" ,openmpi) ("arpack" ,arpack-ng-openmpi) @@ -1955,11 +1976,18 @@ (define-public mumps-openmpi (substitute-keyword-arguments (package-arguments mumps) ((#:phases phases) `(modify-phases ,phases - (replace - 'check - (lambda _ - ((assoc-ref ,phases 'check) - #:exec-prefix '("mpirun" "-n" "2")))))))) + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)) + (replace 'check + (lambda _ + ((assoc-ref ,phases 'check) + #:exec-prefix '("mpirun" "-n" "2")))))))) (synopsis "Multifrontal sparse direct solver (with MPI)"))) (define-public mumps-metis-openmpi @@ -2201,6 +2229,11 @@ (define-public superlu-dist #t)) (replace 'check (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to placate + ;; Open MPI without adding a dependency on OpenSSH (the agent + ;; isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) (with-directory-excursion "EXAMPLE" (and (zero? (system* "mpirun" "-n" "2" @@ -2295,6 +2328,12 @@ (define-public scotch (add-after 'build 'build-esmumps (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to placate + ;; Open MPI without adding a dependency on OpenSSH (the agent + ;; isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + (zero? (system* "make" (format #f "-j~a" (parallel-job-count)) "esmumps")))) @@ -2474,7 +2513,16 @@ (define-public p4est " -lopenblas") ,(string-append "LAPACK_LIBS=-L" (assoc-ref %build-inputs "lapack") - " -llapack")))) + " -llapack")) + #:phases (modify-phases %standard-phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because + ;; 'ssh' could not be found in $PATH. Define this + ;; variable to placate Open MPI without adding a + ;; dependency on OpenSSH (the agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t))))) (home-page "http://www.p4est.org") (synopsis "Adaptive mesh refinement on forests of octrees") (description @@ -3531,7 +3579,17 @@ (define-public hypre-openmpi (substitute-keyword-arguments (package-arguments hypre) ((#:configure-flags flags) ``("--with-MPI" - ,@(delete "--without-MPI" ,flags))))) + ,@(delete "--without-MPI" ,flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'check 'set-test-environment + (lambda _ + ;; By default, running the test suite would fail because 'ssh' + ;; could not be found in $PATH. Define this variable to + ;; placate Open MPI without adding a dependency on OpenSSH (the + ;; agent isn't used anyway.) + (setenv "OMPI_MCA_plm_rsh_agent" (which "cat")) + #t)))))) (synopsis "Parallel solvers and preconditioners for linear equations") (description "HYPRE is a software library of high performance preconditioners and diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 5dfb26ae75..5496ea9c9e 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -153,7 +153,7 @@ (define-public hwloc-2.0 (define-public openmpi (package (name "openmpi") - (version "1.10.7") + (version "3.0.1") (source (origin (method url-fetch) @@ -162,7 +162,7 @@ (define-public openmpi "/downloads/openmpi-" version ".tar.bz2")) (sha256 (base32 - "142s1vny9gllkq336yafxayjgcirj2jv0ddabj879jgya7hyr2d0")))) + "0pbqrm5faf57nasy1s81wqivl7zvxmv8lzjh8hvb0f3qxv8m0d36")))) (build-system gnu-build-system) (inputs `(("hwloc" ,hwloc "lib") @@ -205,8 +205,8 @@ (define-public openmpi (("_ABSOLUTE") "")) ;; Avoid valgrind (which pulls in gdb etc.). (substitute* - '("./ompi/mca/io/romio/src/io_romio_component.c") - (("MCA_io_romio_COMPLETE_CONFIGURE_FLAGS") + '("./ompi/mca/io/romio314/src/io_romio314_component.c") + (("MCA_io_romio314_COMPLETE_CONFIGURE_FLAGS") "\"[elided to reduce closure]\"")) #t)) (add-before 'build 'scrub-timestamps ;reproducibility -- cgit v1.2.3