[Thread Prev][Thread Next][Index]

Re: [ferret_users] FERRET compilation on Debian 7



Hi Lluís and Ferret developers,

> EF_mem_subsc.cmn:30.36:
>     Included at ave_scat2grid_t.F:208:
> 
>       COMMON / FERRET_EF_MEM_SUBSC /
>                                     1
> Error: COMMON block 'ferret_ef_mem_subsc' at (1) can not have the
> EXTERNAL attribute

This

       EXTERNAL FERRET_EF_MEM_SUBSC

is the offending line in EF_mem_subsc.cmn .

I haven't investigated the matter deeply, but I'm pretty sure
that the EXTERNAL attribute is not allowed for COMMON block
names according to the Fortran standard.  The purpose
of EXTERNAL is totally different.

And, gfortran (the GCC fortran) is quite strict about standard
conformance.

Maybe just deleting the EXTERNAL statement will fix the problem,
but I'm not 100% sure.

Even though the EXTERNAL statement is illegal according to the
Fortran standard, it maybe serves, or used to serve,
some compiler-specific purposes.

For example, I can imagine that some compiler may use
the EXTERNAL statement as a non-standard extension
for making the common block available to other languages
like C.

In such a case, you need compiler-specific directives
or switches to obtain the same effect.

Cheers,

Ryo



[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement