Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

error #5149: Illegal character in statement label field

Ancy_T_
Beginner
2,340 Views

Hello,

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 


  • /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    -^
    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 
    /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    ----^
    bufrlib.prm(1): error #5118: First statement in file must not be continued
    /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    -----^
    bufrlib.prm(2): error #5149: Illegal character in statement label field 
       This file is part of the GNU C Library.
    ---^
    bufrlib.prm(2): error #5149: Illegal character in statement label field 
       This file is part of the GNU C Library.
    ----^
    bufrlib.prm(4): error #5149: Illegal character in statement label field 
       The GNU C Library is free software; you can redistribute it and/or
    ---^
    bufrlib.prm(4): error #5149: Illegal character in statement label field 
       The GNU C Library is free software; you can redistribute it and/or
    ----^
    bufrlib.prm(1): error #5082: Syntax error, found INTEGER_CONSTANT '1991' when expecting one of: => = . [ % (
    /* Copyright (C) 1991-2012 Free Software Foundation, Inc.
    -----------------^
    bufrlib.prm(5): error #5149: Illegal character in statement label field 
       modify it under the terms of the GNU Lesser General Public
    ---^
    bufrlib.prm(5): error #5149: Illegal character in statement label field 
       modify it under the terms of the GNU Lesser General Public
    ----^
    bufrlib.prm(6): error #5149: Illegal character in statement label field 
       License as published by the Free Software Foundation; either
    ---^
    bufrlib.prm(6): error #5149: Illegal character in statement label field 
       License as published by the Free Software Foundation; either
    ----^
    bufrlib.prm(4): error #5082: Syntax error, found '/' when expecting one of: => = . [ % ( :
       The GNU C Library is free software; you can redistribute it and/or
    ------------------------------------------------------------------^
    bufrlib.prm(7): error #5149: Illegal character in statement label field 
       version 2.1 of the License, or (at your option) any later version.
    ---^
    bufrlib.prm(7): error #5149: Illegal character in statement label field 
       version 2.1 of the License, or (at your option) any later version.
    ----^
    bufrlib.prm(9): error #5149: Illegal character in statement label field 
       The GNU C Library is distributed in the hope that it will be useful,
    ---^
    bufrlib.prm(9): error #5149: Illegal character in statement label field 
       The GNU C Library is distributed in the hope that it will be useful,
    ----^
    bufrlib.prm(10): error #5149: Illegal character in statement label field 
       but WITHOUT ANY WARRANTY; without even the implied warranty of
    ---^
    bufrlib.prm(10): error #5149: Illegal character in statement label field 
       but WITHOUT ANY WARRANTY; without even the implied warranty of
    ----^
    bufrlib.prm(7): error #5082: Syntax error, found INTEGER_CONSTANT '1' when expecting one of: <IDENTIFIER> <CHAR_CON_KIND_PARAM> <CHAR_NAM_KIND_PARAM> <CHARACTER_CONSTANT>
       version 2.1 of the License, or (at your option) any later version.
    -------------^
    bufrlib.prm(11): error #5149: Illegal character in statement label field 
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    ---^
    bufrlib.prm(11): error #5149: Illegal character in statement label field 
       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    ----^
    bufrlib.prm(12): error #5149: Illegal character in statement label field 
       Lesser General Public License for more details.
    ---^
    bufrlib.prm(12): error #5149: Illegal character in statement label field 
       Lesser General Public License for more details.
    ----^
    bufrlib.prm(14): error #5149: Illegal character in statement label field 
       You should have received a copy of the GNU Lesser General Public
    ---^
    bufrlib.prm(14): error #5149: Illegal character in statement label field 
       You should have received a copy of the GNU Lesser General Public
    ----^
    bufrlib.prm(15): error #5149: Illegal character in statement label field 
       License along with the GNU C Library; if not, see
    ---^
    bufrlib.prm(15): error #5149: Illegal character in statement label field 
       License along with the GNU C Library; if not, see
    ----^
    bfrini.f(76): catastrophic error: Too many errors, exiting
    compilation aborted for bfrini.f (code 1)
    make: *** [../../libbufr_v10.2.5_4_64.a(bfrini.o)] Error 1
  • ------------------------------------

    The system configuration used is :

    Architecture:          x86_64
    CPU op-mode(s):        32-bit, 64-bit
    Byte Order:            Little Endian
    CPU(s):                4
    On-line CPU(s) list:   0-3
    Thread(s) per core:    1
    Core(s) per socket:    4
    Socket(s):             1
    NUMA node(s):          1
    Vendor ID:             GenuineIntel
    CPU family:            6
    Model:                 63
    Model name:            Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz

    OS: CentOS

    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.

    Thanks,

    Ancy

     

     

     

     

     

     

    0 Kudos
    3 Replies
    Kevin_D_Intel
    Employee
    2,340 Views

    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.

    0 Kudos
    TimP
    Honored Contributor III
    2,340 Views

    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).

    0 Kudos
    mecej4
    Honored Contributor III
    2,340 Views

    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.

    0 Kudos
    Reply