Im trying to build with the Intel compilers, but Open MPI eventually fails to compile with really long error messages. What do I do?
A common mistake when building Open MPI with the Intel compiler suite is to accidentally specify the Intel C compiler as the C++ compiler. Specifically, recent versions of the Intel compiler renamed the C++ compiler “icpc” (it used to be “icc”, the same as the C compiler). Users accustomed to the old name tend to specify “icc” as the C++ compiler, which will then cause a failure late in the Open MPI build process because a C++ code will be compiled with the C compiler. Bad Things then happen. The solution is to be sure to specify that the C++ compiler is “icpc”, not “icc”. For example: shell$ ./configure CC=icc CXX=icpc F77=ifort FC=ifort … For Googling purposes, here’s some of the error messages that may be issued during the Open MPI C++ codes with the Intel C compiler (icc), in no particular order: IPO Error: unresolved : _ZNSsD1Ev IPO Error: unresolved : _ZdlPv IPO Error: unresolved : _ZNKSs4sizeEv components.o(.text+0x17): In function `ompi_info::open_components()’: : undefined r
Related Questions
- When I build with the Intel compiler suite, linking user MPI applications with the wrapper compilers results in warning messages. What do I do?
- Im trying to build with the Intel compilers, but Open MPI eventually fails to compile with really long error messages. What do I do?
- Im trying to build with the Sun Studio compilers on Linux, but Open MPI eventually fails to compile. What do I do?