@@ -40,7 +40,7 @@ echo "==> Version: $VERSION_ID"
4040echo " ==> Architecture: $arch "
4141
4242OPTIND=1 # Reset in case getopts has been used previously in the shell.
43- run_test=0 # -b runs an ompi build test; useful for testing new AMIs
43+ run_test=1 # -b runs an ompi build test; useful for testing new AMIs
4444clean_ami=1 # -t enables testing mode, where the AMI isn't cleaned up
4545 # after the test (so remote logins still work)
4646
@@ -60,6 +60,7 @@ while getopts "h?tb" opt; do
6060done
6161
6262pandoc_installed=0
63+ sphinx_installed=0
6364
6465case $PLATFORM_ID in
6566 rhel|centos)
@@ -74,7 +75,15 @@ case $PLATFORM_ID in
7475 case $VERSION_ID in
7576 7.* )
7677 sudo yum -y install gcc gcc-c++ gcc-gfortran \
77- java-11-openjdk-headless
78+ python3
79+ ( cd $HOME
80+ curl -O https://download.java.net/java/GA/jdk23.0.1/c28985cbf10d4e648e4004050f8781aa/11/GPL/openjdk-23.0.1_linux-x64_bin.tar.gz
81+ tar xf openjdk-23.0.1_linux-x64_bin.tar.gz
82+ cd /usr/local
83+ sudo cp -rf $HOME /jdk-23.0.1/* .
84+ cd $HOME
85+ rm -rf openjdk-23.0.1_linux-x64_bin.tar.gz jdk-23.0.1
86+ )
7887 labels=" ${labels} gcc48"
7988 ;;
8089 8.* )
@@ -84,6 +93,7 @@ case $PLATFORM_ID in
8493 sudo yum -y remove java-1.8.0-openjdk-headless
8594 sudo alternatives --set python /usr/bin/python3
8695 sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme
96+ sphinx_installed=1
8797 labels=" ${labels} gcc8"
8898 ;;
8999 * )
@@ -106,6 +116,7 @@ case $PLATFORM_ID in
106116 echo " ==> Installing packages"
107117 sudo yum -y update
108118 sudo yum -y groupinstall " Development Tools"
119+ sphinx_installed=1
109120 labels=" ${labels} linux"
110121 case $VERSION_ID in
111122 2)
@@ -114,7 +125,9 @@ case $PLATFORM_ID in
114125 java-17-amazon-corretto-headless libevent-devel hwloc-devel \
115126 hwloc gdb python3-pip python3-devel
116127 sudo pip install mock
117- sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme
128+ # system python3 is linked against openssl 1.0, which doesn't work with
129+ # urllib3 2.0 or later. So pin to an older version of urllib :(.
130+ sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme ' urllib3<2'
118131 labels=" ${labels} amazon_linux_2-${arch} gcc7 clang7"
119132 ;;
120133 * )
@@ -132,14 +145,16 @@ case $PLATFORM_ID in
132145 sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
133146 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential gfortran \
134147 autoconf automake libtool flex hwloc libhwloc-dev git \
135- default-jre awscli rman pandoc
148+ awscli rman pandoc
136149 pandoc_installed=1
150+ sphinx_installed=1
137151 labels=" ${labels} linux ubuntu_${VERSION_ID} -${arch} "
138152 case $VERSION_ID in
139153 18.04)
140154 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
141155 python-boto3 python-pip \
142156 python-mock \
157+ openjdk-17-jre-headless \
143158 gcc-4.8 g++-4.8 gfortran-4.8 \
144159 gcc-5 g++-5 gfortran-5 \
145160 gcc-6 g++-6 gfortran-6 \
@@ -153,18 +168,21 @@ case $PLATFORM_ID in
153168 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install gcc-multilib g++-multilib gfortran-multilib
154169 labels=" ${labels} 32bit_builds"
155170 fi
171+ # Sphinx has become too old for master on Ubuntu 18, so don't try to build there.
172+ sphinx_installed=0
156173 ;;
157174 20.04)
158175 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
159176 python-is-python3 python3-boto3 python3-mock \
160177 python3-pip \
178+ openjdk-21-jdk-headless \
161179 gcc-7 g++-7 gfortran-7 \
162180 gcc-8 g++-8 gfortran-8 \
163181 gcc-9 g++-9 gfortran-9 \
164182 gcc-10 g++-10 gfortran-10 \
165183 clang-6.0 clang-7 clang-8 clang-9 clang-10 \
166184 clang-format-11 bsdutils
167- sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme
185+ sudo pip3 install -U sphinx recommonmark docutils sphinx-rtd-theme
168186 labels=" ${labels} gcc7 gcc8 gcc9 gcc10 clang60 clang7 clang8 clang9 clang10"
169187 if test " $arch " = " x86_64" ; then
170188 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install gcc-multilib g++-multilib gfortran-multilib
@@ -175,6 +193,25 @@ case $PLATFORM_ID in
175193 sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
176194 python-is-python3 python3-boto3 python3-mock \
177195 python3-pip \
196+ openjdk-21-jre-headless \
197+ gcc-9 g++-9 gfortran-9 \
198+ gcc-10 g++-10 gfortran-10 \
199+ gcc-11 g++-11 gfortran-11 \
200+ gcc-12 g++-12 gfortran-12 \
201+ clang-11 clang-12 clang-13 clang-14 \
202+ clang-format-14 bsdutils
203+ sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme
204+ labels=" ${labels} gcc9 gcc10 gcc11 gcc12 clang11 clang12 clang13 clang14"
205+ if test " $arch " = " x86_64" ; then
206+ sudo DEBIAN_FRONTEND=noninteractive apt-get -y install gcc-multilib g++-multilib gfortran-multilib
207+ labels=" ${labels} 32bit_builds"
208+ fi
209+ ;;
210+ 24.04)
211+ sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
212+ python-is-python3 python3-boto3 python3-mock \
213+ python3-pip \
214+ openjdk-21-jdk-headless \
178215 gcc-9 g++-9 gfortran-9 \
179216 gcc-10 g++-10 gfortran-10 \
180217 gcc-11 g++-11 gfortran-11 \
@@ -200,8 +237,9 @@ case $PLATFORM_ID in
200237 sles)
201238 sudo zypper -n update
202239 sudo zypper -n install gcc gcc-c++ gcc-fortran \
203- autoconf automake libtool flex make gdb
240+ autoconf automake libtool flex make gdb git bzip2
204241 labels=" ${labels} linux sles_${VERSION_ID} -${arch} "
242+ sphinx_installed=1
205243 case $VERSION_ID in
206244 15.* )
207245 sudo zypper -n install \
@@ -268,9 +306,13 @@ if test $run_test != 0; then
268306 cd ompi
269307 ./autogen.pl
270308 ./configure --prefix=$HOME /install
271- make -j 4 all
272- make check
273- make install
309+ if test " $sphinx_installed " = " 1" ; then
310+ make -j 4 distcheck
311+ else
312+ make -j 4 all
313+ make check
314+ make install
315+ fi
274316 cd $HOME
275317 rm -rf ${HOME} /ompi ${HOME} /install
276318 echo " ==> SUCCESS! Open MPI compiled!"
0 commit comments