mirror of
https://github.com/yann64/haikuports.git
synced 2026-05-05 14:38:51 +02:00
Open-MPI: new recipe (#2899)
This commit is contained in:
226
sys-cluster/openmpi/openmpi-3.1.1.recipe
Normal file
226
sys-cluster/openmpi/openmpi-3.1.1.recipe
Normal file
@@ -0,0 +1,226 @@
|
||||
SUMMARY="A high-performance message passing library (MPI)"
|
||||
DESCRIPTION="The Open MPI Project is an open source Message Passing \
|
||||
Interface implementation that is developed and maintained by a consortium \
|
||||
of academic, research, and industry partners. Open MPI is therefore able \
|
||||
to combine the expertise, technologies, and resources from all across the \
|
||||
High Performance Computing community in order to build the best MPI library \
|
||||
available. Open MPI offers advantages for system and software vendors, \
|
||||
application developers and computer science researchers."
|
||||
HOMEPAGE="https://www.open-mpi.org/"
|
||||
COPYRIGHT="2004-2010 The Trustees of Indiana University and Indiana \
|
||||
University Research and Technology Corporation
|
||||
2004-2017 The University of Tennessee and The University of Tennessee \
|
||||
Research Foundation
|
||||
2004-2010 High Performance Computing Center Stuttgart,University of \
|
||||
Stuttgart
|
||||
2004-2008 The Regents of the University of California
|
||||
2006-2017 Los Alamos National Security, LLC.
|
||||
2006-2017 Cisco Systems, Inc.
|
||||
2006-2010 Voltaire, Inc.
|
||||
2006-2017 Sandia National Laboratories
|
||||
2006-2010 Sun Microsystems, Inc.
|
||||
2006-2017 The University of Houston
|
||||
2006-2009 Myricom, Inc.
|
||||
2007-2017 UT-Battelle, LLC.
|
||||
2007-2017 IBM Corporation
|
||||
1998-2005 Forschungszentrum Juelich, Juelich Supercomputing Centre
|
||||
2005-2008 ZIH, TU Dresden, Federal Republic of Germany
|
||||
2007 Evergrid, Inc.
|
||||
2008 Chelsio, Inc.
|
||||
2008-2009 Institut National de Recherche en Informatique
|
||||
2007 Lawrence Livermore National Security, LLC.
|
||||
2007-2017 Mellanox Technologies
|
||||
2006-2010 QLogic Corporation
|
||||
2008-2017 Oak Ridge National Labs
|
||||
2006-2012 Oracle and/or its affiliates
|
||||
2009-2015 Bull SAS.
|
||||
2010 ARM ltd.
|
||||
2016 ARM, Inc.
|
||||
2010-2011 Alex Brick
|
||||
2012 The University of Wisconsin-La Crosse
|
||||
2013-2016 Intel, Inc.
|
||||
2011-2017 NVIDIA Corporation
|
||||
2016 Broadcom Limited
|
||||
2011-2017 Fujitsu Limited
|
||||
2014-2015 Hewlett-Packard Development Company, LP.
|
||||
2013-2017 Research Organization for Information Science (RIST)
|
||||
2017 Amazon.com, Inc. or its affiliates"
|
||||
LICENSE="BSD (3-clause)"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://download.open-mpi.org/release/open-mpi/v3.1/openmpi-$portVersion.tar.bz2"
|
||||
CHECKSUM_SHA256="3f11b648dd18a8b878d057e9777f2c43bf78297751ad77ae2cef6db0fe80c77c"
|
||||
PATCHES="openmpi-$portVersion.patchset"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86 x86_64"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
openmpiLibs="
|
||||
libmca_common_monitoring
|
||||
libmca_common_ompio
|
||||
libmca_common_sm
|
||||
libmpi_mpifh
|
||||
libmpi_usempi_ignore_tkr
|
||||
libmpi_usempif08
|
||||
libmpi
|
||||
libompitrace
|
||||
libopen_pal
|
||||
libopen_rte
|
||||
"
|
||||
libmca_common_monitoringVersion=50.0.0
|
||||
libmca_common_ompioVersion=41.9.0
|
||||
libmca_common_smVersion=40.10.0
|
||||
libmpi_mpifhVersion=40.10.1
|
||||
libmpi_usempi_ignore_tkrVersion=40.10.1
|
||||
libmpi_usempif08Version=40.10.1
|
||||
libmpiVersion=40.10.1
|
||||
libompitraceVersion=40.10.0
|
||||
libopen_palVersion=40.10.1
|
||||
libopen_rteVersion=40.10.1
|
||||
for i in $openmpiLibs; do
|
||||
eval "${i}VersionCompat=\"\$${i}Version compat >= \${${i}Version%%.*}\""
|
||||
done
|
||||
|
||||
GLOBAL_WRITABLE_FILES="
|
||||
settings/openmpi-default-hostfile keep-old
|
||||
settings/openmpi-mca-params.conf keep-old
|
||||
settings/openmpi-totalview.tcl keep-old
|
||||
settings/pmix-mca-params.conf keep-old
|
||||
"
|
||||
|
||||
PROVIDES="
|
||||
openmpi$secondaryArchSuffix = $portVersion
|
||||
cmd:aggregate_profile.pl = $portVersion
|
||||
cmd:mpicc = $portVersion
|
||||
cmd:mpic++ = $portVersion
|
||||
cmd:mpicc = $portVersion
|
||||
cmd:mpicxx = $portVersion
|
||||
cmd:mpiexec = $portVersion
|
||||
cmd:mpif77 = $portVersion
|
||||
cmd:mpif90 = $portVersion
|
||||
cmd:mpifort = $portVersion
|
||||
cmd:mpirun = $portVersion
|
||||
cmd:ompi_clean = $portVersion
|
||||
cmd:ompi_dvm = $portVersion
|
||||
cmd:ompi_ps = $portVersion
|
||||
cmd:ompi_server = $portVersion
|
||||
cmd:ompi_top = $portVersion
|
||||
cmd:ompi_info = $portVersion
|
||||
cmd:opal_wrapper = $portVersion
|
||||
cmd:orte_clean = $portVersion
|
||||
cmd:orte_dvm = $portVersion
|
||||
cmd:orte_info = $portVersion
|
||||
cmd:orte_ps = $portVersion
|
||||
cmd:orte_server = $portVersion
|
||||
cmd:orte_top = $portVersion
|
||||
cmd:ortecc = $portVersion
|
||||
cmd:orted = $portVersion
|
||||
cmd:orterun = $portVersion
|
||||
cmd:profile2mat.pl = $portVersion
|
||||
cmd:prun = $portVersion
|
||||
lib:libmca_common_monitoring$secondaryArchSuffix = $libmca_common_monitoringVersionCompat
|
||||
lib:libmca_common_ompio$secondaryArchSuffix = $libmca_common_ompioVersionCompat
|
||||
lib:libmca_common_sm$secondaryArchSuffix = $libmca_common_smVersionCompat
|
||||
lib:libmpi$secondaryArchSuffix = $libmpiVersionCompat
|
||||
lib:libmpi_mpifh$secondaryArchSuffix = $libmpi_mpifhVersionCompat
|
||||
lib:libmpi_usempi_ignore_tkr$secondaryArchSuffix = $libmpi_usempi_ignore_tkrVersionCompat
|
||||
lib:libmpi_usempif08$secondaryArchSuffix = $libmpi_usempif08VersionCompat
|
||||
lib:libompitrace$secondaryArchSuffix = $libompitraceVersionCompat
|
||||
lib:libopen_pal$secondaryArchSuffix = $libopen_palVersionCompat
|
||||
lib:libopen_rte$secondaryArchSuffix = $libopen_rteVersionCompat
|
||||
lib:ompi_monitoring_prof$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libevent_2.1$secondaryArchSuffix
|
||||
lib:libevent_pthreads$secondaryArchSuffix
|
||||
lib:libgfortran$secondaryArchSuffix
|
||||
lib:libgomp$secondaryArchSuffix
|
||||
lib:libhwloc$secondaryArchSuffix
|
||||
lib:libz$secondaryArchSuffix
|
||||
"
|
||||
|
||||
PROVIDES_devel="
|
||||
openmpi${secondaryArchSuffix}_devel = $portVersion
|
||||
devel:libmca_common_monitoring$secondaryArchSuffix = $libmca_common_monitoringVersionCompat
|
||||
devel:libmca_common_ompio$secondaryArchSuffix = $libmca_common_ompioVersionCompat
|
||||
devel:libmca_common_sm$secondaryArchSuffix = $libmca_common_smVersionCompat
|
||||
devel:libmpi$secondaryArchSuffix = $libmpiVersionCompat
|
||||
devel:libmpi_mpifh$secondaryArchSuffix = $libmpi_mpifhVersionCompat
|
||||
devel:libmpi_usempi_ignore_tkr$secondaryArchSuffix = $libmpi_usempi_ignore_tkrVersionCompat
|
||||
devel:libmpi_usempif08$secondaryArchSuffix = $libmpi_usempif08VersionCompat
|
||||
devel:libompitrace$secondaryArchSuffix = $libompitraceVersionCompat
|
||||
devel:libopen_pal$secondaryArchSuffix = $libopen_palVersionCompat
|
||||
devel:libopen_rte$secondaryArchSuffix = $libopen_rteVersionCompat
|
||||
devel:ompi_monitoring_prof$secondaryArchSuffix
|
||||
"
|
||||
REQUIRES_devel="
|
||||
openmpi$secondaryArchSuffix == $portVersion base
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libevent_2.1$secondaryArchSuffix
|
||||
devel:libevent_pthreads$secondaryArchSuffix
|
||||
devel:libexecinfo$secondaryArchSuffix
|
||||
devel:libhwloc$secondaryArchSuffix
|
||||
devel:libz$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
cmd:flex
|
||||
cmd:gfortran$secondaryArchSuffix
|
||||
cmd:g++$secondaryArchSuffix
|
||||
# cmd:libtoolize$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:perl
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
defineDebugInfoPackage openmpi$secondaryArchSuffix \
|
||||
"$libDir"/libmca_common_monitoring.so.$libmca_common_monitoringVersion \
|
||||
"$libDir"/libmca_common_ompio.so.$libmca_common_ompioVersion \
|
||||
"$libDir"/libmca_common_sm.so.$libmca_common_smVersion \
|
||||
"$libDir"/libmpi.so.$libmpiVersion \
|
||||
"$libDir"/libmpi_mpifh.so.$libmpi_mpifhVersion \
|
||||
"$libDir"/libmpi_usempi_ignore_tkr.so.$libmpi_usempi_ignore_tkrVersion \
|
||||
"$libDir"/libmpi_usempif08.so.$libmpi_usempif08Version \
|
||||
"$libDir"/libompitrace.so.$libompitraceVersion \
|
||||
"$libDir"/libopen-pal.so.$libopen_palVersion \
|
||||
"$libDir"/libopen-rte.so.$libopen_rteVersion \
|
||||
"$libDir"/ompi_monitoring_prof.so
|
||||
|
||||
BUILD()
|
||||
{
|
||||
LDFLAGS="-lnetwork" runConfigure --omit-dirs "libExecDir" ./configure \
|
||||
--libexecdir="$libExecDir/openmpi" \
|
||||
--with-libevent \
|
||||
--with-hwloc=external \
|
||||
--with-zlib
|
||||
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install $jobArgs
|
||||
|
||||
rm $libDir/*.la
|
||||
rm $libDir/pmix/*.la
|
||||
rm $libDir/openmpi/*.la
|
||||
|
||||
prepareInstalledDevelLibs \
|
||||
libmpi \
|
||||
libopen-pal \
|
||||
libopen-rte
|
||||
|
||||
fixPkgconfig
|
||||
|
||||
packageEntries devel \
|
||||
$developDir
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
# Still broken
|
||||
LIBRARY_PATH=$LIBRARY_PATH:$sourceDir/ompi/.libs:$sourceDir/opal/.libs:$sourceDir/orte/.libs make check
|
||||
}
|
||||
49
sys-cluster/openmpi/patches/openmpi-3.1.1.patchset
Normal file
49
sys-cluster/openmpi/patches/openmpi-3.1.1.patchset
Normal file
@@ -0,0 +1,49 @@
|
||||
From de46e41334a6cbdb98db7caaa580439b5b16be2f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Mon, 6 Aug 2018 12:09:32 +0200
|
||||
Subject: Build fix
|
||||
|
||||
|
||||
diff --git a/opal/util/stacktrace.c b/opal/util/stacktrace.c
|
||||
index e9d8cdb..afb791e 100644
|
||||
--- a/opal/util/stacktrace.c
|
||||
+++ b/opal/util/stacktrace.c
|
||||
@@ -32,8 +32,12 @@
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
-#ifdef HAVE_SYS_FCNTL_H
|
||||
+#ifdef HAVE_FCNTL_H
|
||||
#include <fcntl.h>
|
||||
+#else
|
||||
+#ifdef HAVE_SYS_FCNTL_H
|
||||
+#include <sys/fcntl.h>
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
--
|
||||
2.16.4
|
||||
|
||||
|
||||
From 2a7e669e6ef22af5a9cd3630831f320a750a1d87 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= <zmizsei@extrowerk.com>
|
||||
Date: Mon, 6 Aug 2018 12:29:26 +0200
|
||||
Subject: Test fix
|
||||
|
||||
|
||||
diff --git a/ompi/debuggers/dlopen_test.c b/ompi/debuggers/dlopen_test.c
|
||||
index 266a1c2..978ca75 100644
|
||||
--- a/ompi/debuggers/dlopen_test.c
|
||||
+++ b/ompi/debuggers/dlopen_test.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include "opal/runtime/opal.h"
|
||||
#include "opal/mca/dl/base/base.h"
|
||||
--
|
||||
2.16.4
|
||||
|
||||
Reference in New Issue
Block a user