Skip to content

Commit

Permalink
update MPI versions and fix Travis CI issues
Browse files Browse the repository at this point in the history
install autotools on macos using brew
update to latest MPI release downloads
add autogen.sh since mpich github releases no ship with configure
stupid useless github tarballs
accept automake >= 1.15
silence excessive output from Open-MPI mpi.h
  • Loading branch information
Hammond, Jeff R authored and jeffhammond committed Dec 2, 2019
1 parent ec5d915 commit 2f90528
Show file tree
Hide file tree
Showing 4 changed files with 128 additions and 119 deletions.
2 changes: 1 addition & 1 deletion autogen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ check_autotools_version()
tool=$1
req_ver=$2
curr_ver=$($tool --version | head -1 | cut -f4 -d' ' | xargs echo -n)
if [ "$curr_ver" != "$req_ver" ]; then
if [ "$curr_ver" -ge "$req_ver" ]; then
echo ""
echo "$tool version mismatch ($req_ver) required"
exit
Expand Down
4 changes: 3 additions & 1 deletion travis/build-run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,14 @@ case "$MPI_IMPL" in
mpicc --showme:command
# see https://github.com/open-mpi/ompi/issues/2956
export TMPDIR=/tmp
# suppress excessive output
OMPI_NO_WARN="-Wno-unknown-attributes"
;;
esac

# Configure and build
./autogen.sh
./configure CC=mpicc CFLAGS="-std=c99" --disable-static --prefix=/tmp
./configure CC=mpicc CFLAGS="-std=c99 $OMPI_NO_WARN" --disable-static --prefix=/tmp
make V=1
make V=1 install

Expand Down
228 changes: 118 additions & 110 deletions travis/install-autotools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,120 +3,128 @@
#set -e
set -x

os=`uname`
TOP="$1"

MAKE_JNUM=2
M4_VERSION=1.4.17
LIBTOOL_VERSION=2.4.6
AUTOCONF_VERSION=2.69
AUTOMAKE_VERSION=1.15
M4_VERSION=1.4.17
LIBTOOL_VERSION=2.4.6
AUTOCONF_VERSION=2.69
AUTOMAKE_VERSION=1.15

cd ${TOP}
TOOL=m4
TDIR=${TOOL}-${M4_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ -f ${FILE} ] ; then
echo ${FILE} already exists! Using existing copy.
else
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
fi
if [ -d ${TDIR} ] ; then
echo ${TDIR} already exists! Using existing copy.
else
echo Unpacking ${FILE}
tar -xzf ${FILE}
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 1
exit
fi
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then

cd ${TOP}
TOOL=libtool
TDIR=${TOOL}-${LIBTOOL_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 2
exit
fi
fi
brew install m4 || brew upgrade m4
brew install libtool || brew upgrade libtool
brew install autoconf || brew upgrade autoconf
brew install automake || brew upgrade automake

cd ${TOP}
TOOL=autoconf
TDIR=${TOOL}-${AUTOCONF_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 3
exit
fi
fi
else
MAKE_JNUM=2

cd ${TOP}
TOOL=automake
TDIR=${TOOL}-${AUTOMAKE_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 4
exit
fi
fi
cd ${TOP}
TOOL=m4
TDIR=${TOOL}-${M4_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ -f ${FILE} ] ; then
echo ${FILE} already exists! Using existing copy.
else
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
fi
if [ -d ${TDIR} ] ; then
echo ${TDIR} already exists! Using existing copy.
else
echo Unpacking ${FILE}
tar -xzf ${FILE}
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 1
exit
fi
fi

cd ${TOP}
TOOL=libtool
TDIR=${TOOL}-${LIBTOOL_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 2
exit
fi
fi

cd ${TOP}
TOOL=autoconf
TDIR=${TOOL}-${AUTOCONF_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 3
exit
fi
fi

cd ${TOP}
TOOL=automake
TDIR=${TOOL}-${AUTOMAKE_VERSION}
FILE=${TDIR}.tar.gz
BIN=${TOP}/bin/${TOOL}
if [ ! -f ${FILE} ] ; then
wget http://ftp.gnu.org/gnu/${TOOL}/${FILE}
else
echo ${FILE} already exists! Using existing copy.
fi
if [ ! -d ${TDIR} ] ; then
echo Unpacking ${FILE}
tar -xzf ${FILE}
else
echo ${TDIR} already exists! Using existing copy.
fi
if [ -f ${BIN} ] ; then
echo ${BIN} already exists! Skipping build.
else
cd ${TOP}/${TDIR}
./configure --prefix=${TOP} M4=${TOP}/bin/m4 && make -j ${MAKE_JNUM} && make install
if [ "x$?" != "x0" ] ; then
echo FAILURE 4
exit
fi
fi
fi
13 changes: 6 additions & 7 deletions travis/install-mpi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,9 @@ case "$os" in
case "$MPI_IMPL" in
mpich_shm|mpich_odd)
if [ ! -d "$TRAVIS_ROOT/mpich" ]; then
# mpich-v3.3a2 has symbol visibility issue, see https://github.com/pmodels/mpich/issues/2471.
wget --no-check-certificate http://www.mpich.org/static/downloads/nightly/master/mpich/mpich-master-v3.3a2-452-ge0000be3f049.tar.gz
tar -xzf mpich-master-v3.3a2-452-ge0000be3f049.tar.gz
cd mpich-master-v3.3a2-452-ge0000be3f049
wget --no-check-certificate http://www.mpich.org/static/downloads/3.3.2/mpich-3.3.2.tar.gz
tar -xzf mpich-3.3.2.tar.gz
cd mpich-3.3.2
mkdir build && cd build
../configure CFLAGS="-w" --prefix=$TRAVIS_ROOT/mpich --disable-fortran --disable-static
make -j2
Expand All @@ -51,9 +50,9 @@ case "$os" in
;;
openmpi)
if [ ! -d "$TRAVIS_ROOT/open-mpi" ]; then
wget --no-check-certificate https://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.bz2
tar -xjf openmpi-3.0.0.tar.bz2
cd openmpi-3.0.0
wget --no-check-certificate https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.2.tar.bz2
tar -xjf openmpi-4.0.2.tar.bz2
cd openmpi-4.0.2
mkdir build && cd build
../configure CFLAGS="-w" --prefix=$TRAVIS_ROOT/open-mpi \
--without-verbs --without-fca --without-mxm --without-ucx \
Expand Down

0 comments on commit 2f90528

Please sign in to comment.