@@ -40,7 +40,7 @@ echo "==> Version: $VERSION_ID"
40
40
echo " ==> Architecture: $arch "
41
41
42
42
OPTIND=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
44
44
clean_ami=1 # -t enables testing mode, where the AMI isn't cleaned up
45
45
# after the test (so remote logins still work)
46
46
@@ -60,6 +60,7 @@ while getopts "h?tb" opt; do
60
60
done
61
61
62
62
pandoc_installed=0
63
+ sphinx_installed=0
63
64
64
65
case $PLATFORM_ID in
65
66
rhel|centos)
@@ -74,7 +75,15 @@ case $PLATFORM_ID in
74
75
case $VERSION_ID in
75
76
7.* )
76
77
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
+ )
78
87
labels=" ${labels} gcc48"
79
88
;;
80
89
8.* )
@@ -84,6 +93,7 @@ case $PLATFORM_ID in
84
93
sudo yum -y remove java-1.8.0-openjdk-headless
85
94
sudo alternatives --set python /usr/bin/python3
86
95
sudo pip3 install sphinx recommonmark docutils sphinx-rtd-theme
96
+ sphinx_installed=1
87
97
labels=" ${labels} gcc8"
88
98
;;
89
99
* )
@@ -106,6 +116,7 @@ case $PLATFORM_ID in
106
116
echo " ==> Installing packages"
107
117
sudo yum -y update
108
118
sudo yum -y groupinstall " Development Tools"
119
+ sphinx_installed=1
109
120
labels=" ${labels} linux"
110
121
case $VERSION_ID in
111
122
2)
@@ -114,7 +125,9 @@ case $PLATFORM_ID in
114
125
java-17-amazon-corretto-headless libevent-devel hwloc-devel \
115
126
hwloc gdb python3-pip python3-devel
116
127
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'
118
131
labels=" ${labels} amazon_linux_2-${arch} gcc7 clang7"
119
132
;;
120
133
* )
@@ -132,14 +145,16 @@ case $PLATFORM_ID in
132
145
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade
133
146
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential gfortran \
134
147
autoconf automake libtool flex hwloc libhwloc-dev git \
135
- default-jre awscli rman pandoc
148
+ awscli rman pandoc
136
149
pandoc_installed=1
150
+ sphinx_installed=1
137
151
labels=" ${labels} linux ubuntu_${VERSION_ID} -${arch} "
138
152
case $VERSION_ID in
139
153
18.04)
140
154
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
141
155
python-boto3 python-pip \
142
156
python-mock \
157
+ openjdk-17-jre-headless \
143
158
gcc-4.8 g++-4.8 gfortran-4.8 \
144
159
gcc-5 g++-5 gfortran-5 \
145
160
gcc-6 g++-6 gfortran-6 \
@@ -153,18 +168,21 @@ case $PLATFORM_ID in
153
168
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install gcc-multilib g++-multilib gfortran-multilib
154
169
labels=" ${labels} 32bit_builds"
155
170
fi
171
+ # Sphinx has become too old for master on Ubuntu 18, so don't try to build there.
172
+ sphinx_installed=0
156
173
;;
157
174
20.04)
158
175
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
159
176
python-is-python3 python3-boto3 python3-mock \
160
177
python3-pip \
178
+ openjdk-21-jdk-headless \
161
179
gcc-7 g++-7 gfortran-7 \
162
180
gcc-8 g++-8 gfortran-8 \
163
181
gcc-9 g++-9 gfortran-9 \
164
182
gcc-10 g++-10 gfortran-10 \
165
183
clang-6.0 clang-7 clang-8 clang-9 clang-10 \
166
184
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
168
186
labels=" ${labels} gcc7 gcc8 gcc9 gcc10 clang60 clang7 clang8 clang9 clang10"
169
187
if test " $arch " = " x86_64" ; then
170
188
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install gcc-multilib g++-multilib gfortran-multilib
@@ -175,6 +193,25 @@ case $PLATFORM_ID in
175
193
sudo DEBIAN_FRONTEND=noninteractive apt-get -y install \
176
194
python-is-python3 python3-boto3 python3-mock \
177
195
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 \
178
215
gcc-9 g++-9 gfortran-9 \
179
216
gcc-10 g++-10 gfortran-10 \
180
217
gcc-11 g++-11 gfortran-11 \
@@ -200,8 +237,9 @@ case $PLATFORM_ID in
200
237
sles)
201
238
sudo zypper -n update
202
239
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
204
241
labels=" ${labels} linux sles_${VERSION_ID} -${arch} "
242
+ sphinx_installed=1
205
243
case $VERSION_ID in
206
244
15.* )
207
245
sudo zypper -n install \
@@ -268,9 +306,13 @@ if test $run_test != 0; then
268
306
cd ompi
269
307
./autogen.pl
270
308
./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
274
316
cd $HOME
275
317
rm -rf ${HOME} /ompi ${HOME} /install
276
318
echo " ==> SUCCESS! Open MPI compiled!"
0 commit comments