diff --git a/Compiler/openmpi/build b/Compiler/openmpi/build index 1a2e025..c3ae4a0 100755 --- a/Compiler/openmpi/build +++ b/Compiler/openmpi/build @@ -16,25 +16,28 @@ pbuild::pre_configure() { pbuild::add_configure_args "--prefix=${PREFIX}" pbuild::add_configure_args "--enable-mpi-cxx" pbuild::add_configure_args "--enable-mpi-cxx-seek" - pbuild::add_configure_args "--enable-mpi-f90" - pbuild::add_configure_args "--enable-mpi-profile" pbuild::add_configure_args "--enable-orterun-prefix-by-default" pbuild::add_configure_args "--enable-shared" pbuild::add_configure_args "--enable-static" - pbuild::add_configure_args "--enable-smp-locks" pbuild::add_configure_args "--with-sge=yes" pbuild::add_configure_args "--with-slurm=yes" + if (( V_MAJOR < 4 )); then + pbuild::add_configure_args "--enable-mpi-f90" + pbuild::add_configure_args "--enable-mpi-profile" + pbuild::add_configure_args "--enable-smp-locks" + elif (( V_MAJOR >= 4 )); then + pbuild::add_configure_args "--enable-mpi-fortran" + fi } pbuild::post_install() { if [[ -r /usr/lib64/libnuma.so ]]; then - cp -av /usr/lib64/libnuma.so.* "${PREFIX}/lib" + cp -av /usr/lib64/libnuma.so.* "${PREFIX}/lib/fallback" fi if [[ -r /usr/lib64/libibverbs.so ]]; then - cp -av /usr/lib64/libibverbs.so.* "${PREFIX}/lib" + cp -av /usr/lib64/libibverbs.so.* "${PREFIX}/lib/fallback" fi if [[ -r /usr/lib64/librdmacm.so ]]; then - cp -av /usr/lib64/librdmacm.so.* "${PREFIX}/lib" + cp -av /usr/lib64/librdmacm.so.* "${PREFIX}/lib/fallback" fi } - diff --git a/Compiler/openmpi/modulefile b/Compiler/openmpi/modulefile index 720b003..b4673de 100644 --- a/Compiler/openmpi/modulefile +++ b/Compiler/openmpi/modulefile @@ -24,3 +24,13 @@ setenv MPIFC $PREFIX/bin/mpif90 setenv MPIFORTRAN $PREFIX/bin/mpif90 setenv MPIEXEC $PREFIX/bin/mpiexec setenv MPIRUN $PREFIX/bin/mpirun + +set libibverbs [glob -nocomplain /usr/lib{64,}/libibverbs.so.1*] +set libnuma [glob -nocomplain /usr/lib{64,}/libnuma.so.1*] +set librdmacm [glob -nocomplain /usr/lib{64,}/librdmacm.so.1*] + +if { $libibverbs eq "" || $libnuma eq "" || $librdmacm eq "" } { + if { [file isdirectory $PREFIX/lib/fallback] } { + prepend-path LD_LIBRARY_PATH $PREFIX/lib/fallback + } +}