60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
# Description: High performance message passing library (MPI)
|
|
# URL: https://www.open-mpi.org
|
|
# Maintainer: Tim Biermann, tbier at posteo dot de
|
|
# Depends on: eudev gcc-fortran libnl prrte
|
|
# Optional: cuda
|
|
|
|
name=openmpi
|
|
version=5.0.3
|
|
release=1
|
|
source=(https://www.open-mpi.org/software/ompi/v${version%.*}/downloads/$name-$version.tar.bz2
|
|
fortran-flags.patch)
|
|
|
|
build() {
|
|
cd $name-$version
|
|
|
|
patch -Np1 -i $SRC/fortran-flags.patch
|
|
|
|
sed -e 's,sys/unistd.h,unistd.h,g' -i opal/include/opal/sys/cma.h
|
|
|
|
export CFLAGS+=" -O3"
|
|
export CXXFLAGS+=" -O3"
|
|
export FCFLAGS+=" -O3"
|
|
|
|
./autogen.pl --force --no-3rdparty libevent,hwloc,pmix,prrte
|
|
|
|
sed -i 's|WRAPPER__FCFLAGS|WRAPPER_FCFLAGS|g' configure
|
|
sed -i 's|WRAPPER_EXTRA_FCFLAGS|WRAPPER_FCFLAGS|g' configure
|
|
|
|
./configure \
|
|
--prefix=/usr \
|
|
--sysconfdir=/etc/$name \
|
|
--libdir=/usr/lib/$name \
|
|
--enable-builtin-atomics \
|
|
--enable-mpi-fortran=all \
|
|
--enable-pretty-print-stacktrace \
|
|
--enable-ipv6 \
|
|
--enable-mpi1-compatibility \
|
|
--with-devel-headers \
|
|
--with-hwloc=/usr \
|
|
--with-pmix=/usr \
|
|
--with-libevent=/usr \
|
|
--with-prrte=/usr \
|
|
FC=/usr/bin/gfortran \
|
|
LDFLAGS="${LDFLAGS} -Wl,-z,noexecstack"
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
|
|
|
|
make
|
|
make DESTDIR=$PKG install
|
|
|
|
install -dm 755 $PKG/usr/lib/pkgconfig
|
|
for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
|
|
ln -sf /usr/lib/openmpi/pkgconfig/$i $PKG/usr/lib/pkgconfig/
|
|
done
|
|
|
|
install -dm 755 $PKG/etc/ld.so.conf.d
|
|
echo /usr/lib/$name > $PKG/etc/ld.so.conf.d/$name.conf
|
|
|
|
rm -r $PKG/usr/share/doc
|
|
}
|