When I try to compile the program using ifort compilers, following error message is shown:
byte_order is LITTLE_ENDIAN
/opt/intel/bin/ifort -c -O3 bfrini.f
bufrlib.prm(1): error #5149: Illegal character in statement label field [/]
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
bufrlib.prm(1): error #5149: Illegal character in statement label field
The system configuration used is :
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model name: Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz
The same programs worked fine with the same compilers and flags, on Bosslinux and other CentOS systems.
Please check and let me know ..how to fix the issue.
The .f source file extension causes the compiler to treat the source file as containing fixed-format source. The source line that is flagged in error does not represent a valid Fortran comment statement. It appears to be a C/C++ style comment.
You should to inspect the .f source file to see whether an incorrect (C/C++) file was included perhaps via an INCLUDE statement. If there is an INCLUDE statement then make certain the named file contains valid Fortran statements.
If your file was named with .F on linux, that would invoke pre-processing; the equivalent would occur with ifort if you add -fpp option (or, on linux, if you retained the .F).
I wonder if your include file buflib.prm has become corrupted. Instead of fixed format Fortran code + comments, it seems to contain C style comments -- in fact, I recognize pieces of the GNU copyleft notice.
You may also see if the source file and the include file have consistent line endings, and are free of BOM marks and free of tabs.
In general, INCLUDE '<filename>' directives and C style preprocessor directives and macros, #include, #ifdef, etc.) will not work well when both types of inclusion are used in a single file given to the compiler. In many compilers, a separate C-preprocessor pass takes care of the #include-s, and an internal pass of the Fortran compiler takes care of the INCLUDE "statements". What the Fortran compiler sees in its first pass can, thus, be quite different from what the programmer expects.