From 5b527256ee8d280ec6f5d445522beb120005ad84 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 12 May 2014 16:43:04 -0500 Subject: [PATCH] gnu: openmpi: Use our hwloc. * gnu/packages/mpi.scm (hwloc): Propagate numactl. (openmpi)[inputs]: Add hwloc. [native-inputs]: Add pkg-config. [argument]: Add hwloc configure flags. --- gnu/packages/mpi.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 071229214b..37b7858469 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -51,16 +51,16 @@ (define-public hwloc ;; Enable libpci support, which effectively makes hwloc GPLv2+. '(#:configure-flags '("--enable-libpci"))) (inputs - `(("numactl" ,numactl) - ("libx11" ,libx11) + `(("libx11" ,libx11) ("cairo" ,cairo) ("ncurses" ,ncurses) ("expat" ,expat))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs - ;; 'hwloc.pc' refers to libpci, hence the propagation. - `(("pciutils" ,pciutils))) + ;; 'hwloc.pc' refers to libpci and libnuma, hence the propagation. + `(("numactl" ,numactl) + ("pciutils" ,pciutils))) (home-page "http://www.open-mpi.org/projects/hwloc/") (synopsis "Abstraction of hardware architectures") (description @@ -94,11 +94,14 @@ (define-public openmpi (base32 "13z1q69f3qwmmhpglarfjminfy2yw4rfqr9jydjk5507q3mjf50p")))) (build-system gnu-build-system) - ;; TODO: Use our hwloc instead of the bundled one. + (inputs + `(("hwloc" ,hwloc))) + (native-inputs + `(("pkg-config" ,pkg-config))) (propagated-inputs `(("gfortran" ,gfortran-4.8))) (arguments - `(#:configure-flags '("--enable-static" + `(#:configure-flags `("--enable-static" "--enable-oshmem" ;; Thread support causes some applications to hang ;; "--enable-event-thread-support" @@ -106,7 +109,9 @@ (define-public openmpi ;; "--enable-orte-progress-threads" ;; "--enable-mpi-thread-multiple" "--enable-mpi-ext=all" - "--with-devel-headers"))) + "--with-devel-headers" + ,(string-append "--with-hwloc=" + (assoc-ref %build-inputs "hwloc"))))) (home-page "http://www.open-mpi.org") (synopsis "MPI-2 implementation") (description