Community
cancel
Showing results for 
Search instead for 
Did you mean: 
nrelhpc
Beginner
175 Views

fpp error

Hi,

I'm trying to use Intel Fortran compiler to compile an application, which produce  an error during configure when running the following command:

fpp -P conftest.c

And the conftest.c is the following:

# include <assert.h>

The error message is

assert.h(106): #error: #if: syntax error.

I tried both intel 2018 and 2020 compiler, and the same thing happened. Does anybody happen to know what may cause this and how to solve it? Many thanks!

 

Hai

 

0 Kudos
7 Replies
Steve_Lionel
Black Belt Retired Employee
170 Views

There should be no space between # and include. All fpp directives are # followed immediately by the keyword.

nrelhpc
Beginner
168 Views

Thank you Steve for the suggestion. I deleted that space but got the same error message.

nrelhpc
Beginner
161 Views

I found the problem is caused by the following line:

#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L

fpp doesn't like the long integer 201112 expressed with a suffix “L”. If I deleted that "L", it then passes the test. But this is a system file and I should not change it.

Hai

IanH
Black Belt
153 Views

Why are you pre-processing C source code (the file has a .c extension) with a Fortran preprocessor?

If that file actually contains Fortran source code, why is it trying to include a C standard library header?

Steve_Lionel
Black Belt Retired Employee
142 Views

To add to what Ian said, you aren't using a Fortran compiler at all, just a Fortran-oriented preprocessor.

nrelhpc
Beginner
137 Views

Hi Steve and Ian,

Thanks for the reply. This is performed by a "configure" script, and I have no idea why it wants to do this. But since this test doesn't pass, the "configure" won't allow me to install this application.

 

Hai

Steve_Lionel
Black Belt Retired Employee
129 Views

There's an error in the configure script, then. It should not be trying to use fpp on C sources.