#!/usr/bin/env modbuild # pbuild::set_download_url \ # "http://www.open-mpi.org/software/ompi/v${V_MAJOR}.${V_MINOR}/downloads/openmpi-${V_PKG}.tar.bz2" pbuild::set_download_url \ "https://download.open-mpi.org/release/open-mpi/v${V_MAJOR}.${V_MINOR}/openmpi-${V_PKG}.tar.bz2" pbuild::set_sha256sum "openmpi-3.1.2.tar.bz2:c654ed847f34a278c52a15c98add40402b4a90f0c540779f1ae6c489af8a76c5" pbuild::add_to_group 'Compiler' pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' pbuild::pre_configure() { if [[ -n "${CUDA_VERSION}" ]]; then pbuild::add_configure_args "--with-cuda=${CUDA_HOME}" fi 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-orterun-prefix-by-default" pbuild::add_configure_args "--enable-shared" pbuild::add_configure_args "--enable-static" pbuild::add_configure_args "--with-hwloc=internal" pbuild::add_configure_args "--with-slurm=yes" pbuild::add_configure_args "--with-ucx=${UCX_PREFIX}" if pbuild::use_flag slurm ; then pbuild::add_configure_args "--with-pmi" pbuild::add_configure_args "--with-pmi-libdir=/usr/lib64/" if pbuild::use_flag "libpmix"; then pbuild::add_configure_args "--enable-install-libpmix" fi fi local version (( version = (${V_MAJOR} * 100 + ${V_MINOR}) * 100 + V_PATCHLVL )) 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" pbuild::add_configure_args "--without-verbs" fi } pbuild::post_install() { mkdir -p "${PREFIX}/lib/fallback" local -r binary=$(ls "${PREFIX}"/lib/libmpi.so.*.*.*) pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuc[mpst].so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libuct_ib.so.0' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libnuma.so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libibverbs.so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/librdmacm.so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi.so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' pbuild::install_shared_libs "${binary}" "${PREFIX}/lib/fallback" '/libpmi2.so' if [[ -n "${CUDA_VERSION}" ]]; then echo "opal_warn_on_missing_libcuda = 0" >> ${PREFIX}/etc/openmpi-mca-params.conf fi }