nceppost模块编译报F90-S-0034-Syntax error at or near错

问题现象描述

NCEPLIBS构建安装中nceppost模块报F90-S-0034-Syntax error at or near & (/path/to/NCEPLIBS/NCEPLIBE-1.2.0/download/emc_post/sorc/ncep_post.fd/CMASSI.f: 6)和F90-S-0034-Syntax error at or near & (/path/to/NCEPLIBS/NCEPLIBE-1.2.0/download/emc_post/sorc/ncep_post.fd/CMASSI.f: 26)错,详细信息如下:

关键过程、根本原因分析

无。

结论、解决方案及效果

  1. 修改“/ncep_post.fd/CMakeLists.txt”文件。

    1. 打开“/ncep_post.fd/CMakeLists.txt”文件。
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/download/emc_post/sorc/ncep_post.fd/CMakeLists.txt
    2. 按“i”进入编辑模式,在第188行前增加一行,添加如下内容。
      elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(Flang)$")
        set(CMAKE_Fortran_FLAGS "-g -ffree-form -fconvert=big-endian")
        set(CMAKE_Fortran_FLAGS_RELEASE "-O3")
        set(CMAKE_Fortran_FLAGS_DEBUG "-O0 -ggdb -fno-unsafe-math-optimizations -frounding-math
      -fsignaling-nans -ffpe-trap=invalid,zero,overflow -fbounds-check")

      执行1.a之后,按“Esc”键,输入“:set nu”,按“Enter”即可显示出行号。

    3. 修改后按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  2. 重新编译。

    make