1

If I run

../configure CC=icc CXX=icpc F77=ifort FC=ifort

the configuring stops with

============================================================================
== Compiler and preprocessor tests
============================================================================

*** C compiler and preprocessor
checking for gcc... (cached) icc
checking whether we are using the GNU C compiler... (cached) yes
checking whether icc accepts -g... (cached) yes
checking for icc option to accept ISO C89... (cached) none needed
checking whether icc understands -c and -o together... (cached) yes
checking for icc option to accept ISO C99... unsupported
configure: WARNING: Open MPI requires a C99 compiler
configure: error: Aborting.

I'm trying to build Open MPI 3.0.0 from source. I'm using the Intel compilers version 18.0.0 20170811. The environment is Arch Linux.

Why is Open MPI having a problem with icc not being C99 compliant?

9
  • Have a look at software.intel.com/en-us/articles/… and open-mpi.org/faq/?category=building#build-intel-compilers Commented Nov 15, 2017 at 17:31
  • @HighPerformanceMark Specifying CFLAGS="-std=c99" didn't make a difference. Commented Nov 15, 2017 at 17:36
  • @VladimirF I checked those websites but I still believe I'm doing everything correctly. Commented Nov 15, 2017 at 17:36
  • I'm surprised that nothing comes up when I google this issue. What I'm trying to do is clearly a standard procedure. Maybe there's something different in the newest versions of OpenMPI or the Intel compilers. Commented Nov 15, 2017 at 17:36
  • It might be the new OpenMPI 3 problem. Can you have a look into the config.log file to see which exact test was performed and what kind of error was reported? Commented Nov 15, 2017 at 18:18

2 Answers 2

1

There seems to be a problem with the latest ICC if used in combination with glibc 2.26. The problem is still present with version 18.0.0. For now, the fix is to include the flag -D_Float128=__float128:

../configure CC=icc CXX=icpc FC=ifort CFLAGS="-D_Float128=__float128"
Sign up to request clarification or add additional context in comments.

1 Comment

@pds Arch Linux.
0

If you don't need to use the classic C++ you can choose to compile with C99

../configure C99=icc CXX=icpc FC=ifort 

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.