Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
29283 Discussions

Compiler flags suddenly "unsupported" in ifx (Intel 2024)

JoakimKjellsson
Beginner
1,775 Views

Good morning

I'm trying to compile the NEMO ocean model v3.6 (https://www.nemo-ocean.eu/) on an HPC where only Intel compilers 2024 are available (ifx, not ifort). Unfortunately, it refuses to compile. Here's part of the error:

icx: command line warning #10430: Unsupported command line options encountered
These options as listed are not supported.
For more information, use '-qnextgen-diag'.
option list:
-traditional
icx: warning: argument unused during compilation: '-I /scratch-emmy/usr/shkjocke/models_intel_ompi/focioifs-3.0/nemo-ORCA05_LIM2_KCM_AOW_FS_OASISMCT4_SMAG/CONFIG/ORCA05_LIM2_KCM_AOW_FS_OASISMCT4_SMAG/BLD/inc' [-Wunused-command-line-argument]
icx: warning: argument unused during compilation: '-I /sw/rev/24.05/cascadelake_opa_rocky8/linux-rocky8-cascadelake/oneapi-2023.2.1/openmpi-4.1.6-irsryldhcvwftlykolfftsvm3bgoc4ap/include' [-Wunused-command-line-argument]
icx: warning: argument unused during compilation: '-P' [-Wunused-command-line-argument]
icx: warning: argument unused during compilation: '-C' [-Wunused-command-line-argument]
icx: warning: argument unused during compilation: '-D key_diaeiv' [-Wunused-command-line-argument]
icx: warning: argument unused during compilation: '-D key_dynldf_c3d' [-Wunused-command-line-argument]

The code is mainly Fortran, but I think this error pops up during the preprocessing stage.

If I take exactly the same code and compile with Intel 2023 using ifort then it works. If I use Intel 2023 with ifx, then the same error comes up. So I can pin down the problem to the use of "ifx" over "ifort".

In this case, "icx" seems to refuse the "-I" flags for includes and also the "-D" flag. I can't find any mention anywhere that these flags have changed in "icx" and "ifx".

Does anyone have some idea what the problem could be?

Is there any big change in how I should compile and/or preprocess code with icc/ifort compared to  icx/ifx?

Many thanks
Joakim

PS. The attached "bld" file shows some of variables sent to the "fcm" compiler program I use. The C compiler is mpicc (OpenMPI linking to icx) and Fortran compiler is mpifort (OpenMPI linking to ifx).

Labels (1)
0 Kudos
1 Solution
TobiasK
Moderator
1,743 Views

@JoakimKjellsson 
Please use the standard C preprocessor cpp for preprocessing, not mpicc. -E and -traditional are options for cpp not icx.

View solution in original post

2 Replies
TobiasK
Moderator
1,744 Views

@JoakimKjellsson 
Please use the standard C preprocessor cpp for preprocessing, not mpicc. -E and -traditional are options for cpp not icx.

JoakimKjellsson
Beginner
1,600 Views

Hi Tobias

 

Many thanks for the advice. That seems to have solved the problem. The code compiles now!

 

/Joakim

0 Kudos
Reply