Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

Error building openmpi with intel 18.0.3: Open MPI requires a C99 compiler

$
0
0

Hi,

I'm trying to build the latest version of openmpi (3.1.2) using intel 18.0.3 and the installation process complains about the compiler not being ISO C99. The error occurs for other versions of openmpi and intel (18.0.0 and 17).

Also, for what it's worth, I'm using the Fedora 28 with

1
$ uname -r

2
4.17.19-200.fc28.x86_64

3
$ ldd --version

4
ldd (GNU libc) 2.27

 

I've wrote the following simple build script which download openmpi-3.1.2, extract files and build it.

01
#!/bin/bash

02
set -e

03
INTEL_HOME="<path>"

04
source ${INTEL_HOME}/compilers_and_libraries_2018.3.222/linux/bin/compilervars.sh intel64

05
ifort -v

06
wget https://www.open-mpi.org/software/ompi/v3.1/downloads/openmpi-3.1.2.tar.gz

07
tar -xzvf openmpi-3.1.2.tar.gz

08
TopDir=${pwd}

09
mkdir -p build

10
cd build

11
./../openmpi-3.1.2/configure --prefix=${TopDir}/install CC=icc CXX=icpc FC=ifort CFLAGS="-D_Float128=__float128"

12
make all install -j

You just have to set the path where intel tools are installed in the variable INTEL_HOME.

Running this script, I have the following output:

001
checking for perl... perl

002
 

003
============================================================================

004
== Configuring Open MPI

005
============================================================================

006
 

007
*** Startup tests

008
checking build system type... x86_64-unknown-linux-gnu

009
checking host system type... x86_64-unknown-linux-gnu

010
checking target system type... x86_64-unknown-linux-gnu

011
checking for gcc... icc

012
checking whether the C compiler works... yes

013
checking for C compiler default output file name... a.out

014
checking for suffix of executables...

015
checking whether we are cross compiling... no

016
checking for suffix of object files... o

017
checking whether we are using the GNU C compiler... yes

018
checking whether icc accepts -g... yes

019
checking for icc option to accept ISO C89... none needed

020
checking whether icc understands -c and -o together... yes

021
checking how to run the C preprocessor... icc -E

022
checking for grep that handles long lines and -e... /usr/bin/grep

023
checking for egrep... /usr/bin/grep -E

024
checking for ANSI C header files... yes

025
checking for sys/types.h... yes

026
checking for sys/stat.h... yes

027
checking for stdlib.h... yes

028
checking for string.h... yes

029
checking for memory.h... yes

030
checking for strings.h... yes

031
checking for inttypes.h... yes

032
checking for stdint.h... yes

033
checking for unistd.h... yes

034
checking minix/config.h usability... no

035
checking minix/config.h presence... no

036
checking for minix/config.h... no

037
checking whether it is safe to define __EXTENSIONS__... yes

038
checking for a BSD-compatible install... /usr/bin/install -c

039
checking whether build environment is sane... yes

040
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p

041
checking for gawk... gawk

042
checking whether make sets $(MAKE)... yes

043
checking for style of include used by make... GNU

044
checking whether make supports nested variables... yes

045
checking whether UID '1000' is supported by ustar format... yes

046
checking whether GID '1000' is supported by ustar format... yes

047
checking how to create a ustar tar archive... gnutar

048
checking dependency style of icc... gcc3

049
checking whether make supports nested variables... (cached) yes

050
 

051
*** Checking versions

052
checking for repo version... v3.1.2

053
checking Open MPI version... 3.1.2

054
checking Open MPI release date... Aug 22, 2018

055
checking Open MPI repository version... v3.1.2

056
checking for repo version... v3.1.2

057
checking Open MPI Run-Time Environment version... 3.1.2

058
checking Open MPI Run-Time Environment release date... Aug 22, 2018

059
checking Open MPI Run-Time Environment repository version... v3.1.2

060
checking for repo version... v3.1.2

061
checking Open SHMEM version... 3.1.2

062
checking Open SHMEM release date... Aug 22, 2018

063
checking Open SHMEM repository version... v3.1.2

064
checking for repo version... v3.1.2

065
checking Open Portable Access Layer version... 3.1.2

066
checking Open Portable Access Layer release date... Aug 22, 2018

067
checking Open Portable Access Layer repository version... v3.1.2

068
checking for bootstrap Autoconf version... 2.69

069
checking for bootstrap Automake version... 1.15

070
checking for boostrap Libtool version... 2.4.6

071
 

072
*** Initialization, setup

073
configure: builddir: /home/geek/Applications/OPENMPI/tmp/build

074
configure: srcdir: /home/geek/Applications/OPENMPI/tmp/openmpi-3.1.2

075
configure: Detected VPATH build

076
installing to directory "/install"

077
 

078
*** OPAL Configuration options

079
checking if want to run code coverage... no

080
checking if want to compile with branch probabilities... no

081
checking if want to debug memory usage... no

082
checking if want to profile memory usage... no

083
checking if want developer-level compiler pickyness... no

084
checking if want developer-level debugging code... no

085
checking if want to developer-level timing framework... no

086
checking if want to install project-internal header files... no

087
checking if want pretty-print stacktrace... yes

088
checking if want pty support... yes

089
checking if want weak symbol support... yes

090
checking if want dlopen support... yes

091
checking for default value of mca_base_component_show_load_errors... enabled by default

092
checking if want heterogeneous support... no

093
checking if word-sized integers must be word-size aligned... yes

094
checking if want IPv6 support... no

095
checking if want package/brand string... Open MPI blopez@deimos Distribution

096
checking if want ident string... 3.1.2

097
checking if want to use an alternative checksum algo for messages... no

098
checking maximum length of processor name... 256

099
checking maximum length of error string... 256

100
checking maximum length of object name... 64

101
checking maximum length of info key... 36

102
checking maximum length of info val... 256

103
checking maximum length of port name... 1024

104
checking maximum length of datarep string... 128

105
checking if want getpwuid support... yes

106
checking for zlib in... (default search paths)

107
checking zlib.h usability... no

108
checking zlib.h presence... yes

109
configure: WARNING: zlib.h: present but cannot be compiled

110
configure: WARNING: zlib.h:     check for missing prerequisite headers?

111
configure: WARNING: zlib.h: see the Autoconf documentation

112
configure: WARNING: zlib.h:     section "Present But Cannot Be Compiled"

113
configure: WARNING: zlib.h: proceeding with the compiler's result

114
configure: WARNING:     ## ------------------------------------------------------ ##

115
configure: WARNING:     ## Report this to http://www.open-mpi.org/community/help/ ##

116
configure: WARNING:     ## ------------------------------------------------------ ##

117
checking for zlib.h... no

118
checking will zlib support be built... no

119
checking __NetBSD__... no

120
checking __FreeBSD__... no

121
checking __OpenBSD__... no

122
checking __DragonFly__... no

123
checking __386BSD__... no

124
checking __bsdi__... no

125
checking __APPLE__... no

126
checking __linux__... yes

127
checking __sun__... no

128
checking __sun... no

129
checking netdb.h usability... no

130
checking netdb.h presence... yes

131
configure: WARNING: netdb.h: present but cannot be compiled

132
configure: WARNING: netdb.h:     check for missing prerequisite headers?

133
configure: WARNING: netdb.h: see the Autoconf documentation

134
configure: WARNING: netdb.h:     section "Present But Cannot Be Compiled"

135
configure: WARNING: netdb.h: proceeding with the compiler's result

136
configure: WARNING:     ## ------------------------------------------------------ ##

137
configure: WARNING:     ## Report this to http://www.open-mpi.org/community/help/ ##

138
configure: WARNING:     ## ------------------------------------------------------ ##

139
checking for netdb.h... no

140
checking netinet/in.h usability... no

141
checking netinet/in.h presence... yes

142
configure: WARNING: netinet/in.h: present but cannot be compiled

143
configure: WARNING: netinet/in.h:     check for missing prerequisite headers?

144
configure: WARNING: netinet/in.h: see the Autoconf documentation

145
configure: WARNING: netinet/in.h:     section "Present But Cannot Be Compiled"

146
configure: WARNING: netinet/in.h: proceeding with the compiler's result

147
configure: WARNING:     ## ------------------------------------------------------ ##

148
configure: WARNING:     ## Report this to http://www.open-mpi.org/community/help/ ##

149
configure: WARNING:     ## ------------------------------------------------------ ##

150
checking for netinet/in.h... no

151
checking netinet/tcp.h usability... no

152
checking netinet/tcp.h presence... yes

153
configure: WARNING: netinet/tcp.h: present but cannot be compiled

154
configure: WARNING: netinet/tcp.h:     check for missing prerequisite headers?

155
configure: WARNING: netinet/tcp.h: see the Autoconf documentation

156
configure: WARNING: netinet/tcp.h:     section "Present But Cannot Be Compiled"

157
configure: WARNING: netinet/tcp.h: proceeding with the compiler's result

158
configure: WARNING:     ## ------------------------------------------------------ ##

159
configure: WARNING:     ## Report this to http://www.open-mpi.org/community/help/ ##

160
configure: WARNING:     ## ------------------------------------------------------ ##

161
checking for netinet/tcp.h... no

162
checking for struct sockaddr_in... no

163
checking if --with-cuda is set... not set (--with-cuda=)

164
checking whether CU_POINTER_ATTRIBUTE_SYNC_MEMOPS is declared... no

165
checking whether cuPointerGetAttributes is declared... no

166
checking if have cuda support... no

167
checking if user requested external PMIx support()... no

168
 

169
*** ORTE Configuration options

170
checking if want orterun "--prefix" behavior to be enabled by default... no

171
 

172
*** OMPI Configuration options

173
checking if want compile-time warnings inside of mpi.h... yes

174
checking if want sparse process groups... no

175
checking if want peruse support... no

176
checking if want Fortran MPI bindings...  (try)

177
checking if want C++ bindings... no

178
checking if want MPI::SEEK_SET support... yes

179
checking if want run-time MPI parameter checking... runtime

180
 

181
*** OSHMEM Configuration options

182
checking if want oshmem... yes

183
checking if want SGI/Quadrics compatibility mode... yes

184
checking if want OSHMEM API parameter checking... always

185
checking for on_exit... yes

186
checking if want pshmem... yes

187
checking if want to build OSHMEM fortran bindings... yes

188
checking if want custom libmpi(_FOO) name... mpi

189
checking if want wrapper compiler rpath support... yes

190
checking if want wrapper compiler runpath support... yes

191
 

192
============================================================================

193
== Compiler and preprocessor tests

194
============================================================================

195
 

196
*** C compiler and preprocessor

197
checking for gcc... (cached) icc

198
checking whether we are using the GNU C compiler... (cached) yes

199
checking whether icc accepts -g... (cached) yes

200
checking for icc option to accept ISO C89... (cached) none needed

201
checking whether icc understands -c and -o together... (cached) yes

202
checking for icc option to accept ISO C99... unsupported

203
configure: WARNING: Open MPI requires a C99 compiler

204
configure: error: Aborting

 

I'm award of this link: https://stackoverflow.com/questions/47313348/open-mpi-with-icc-open-mpi-requires-a-c99-compiler

in which a workaround is given. This workaround consists of adding the options

1
CC=icc CXX=icpc FC=ifort CFLAGS="-D_Float128=__float128"

 

when running configure but it did not help for me.

Any idea of what is going wrong here ?

Thanks


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>