sfcio模块编译报错

问题现象描述

NCEPLIBS构建安装中sfcio模块报错如下:

关键过程、根本原因分析

无。

结论、解决方案及效果

需要增加flang的处理分支。

  1. 修改“/nceplibs-sfcio/src/CMakeLists.txt”文件。

    1. 打开“/nceplibs-sfcio/src/CMakeLists.txt”文件。
      vi /path/to/NCEPLIBS/NCEPLIBS-1.2.0/download/nceplibs-sfcio/src/CMakeLists.txt
    2. 按“i”进入编辑模式,在第12行前增加一行,添加如下内容。
      elseif(CMAKE_Fortran_COMPILER_ID MATCHES "^(Flang)$")
        set(CMAKE_Fortran_FLAGS
            "-g -ffree-form -fconvert=big-endian -funroll-loops ${CMAKE_Fortran_FLAGS}")
        set(CMAKE_Fortran_FLAGS_RELEASE "-O2")
        set(CMAKE_Fortran_FLAGS_DEBUG "-ggdb -Wall")

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

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

  2. 重新编译。

    make