爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3689|回复: 1

关于安装HRLDAS3.7.1的问题

[复制链接]

新浪微博达人勋

发表于 2018-8-22 17:40:09 | 显示全部楼层 |阅读模式
数值模式
使用语言: linux语言
我看过提问的智慧: 看过
自己思考时长(天): 30
问题概况: 安装HRLDAS3.7.1 遇到了”未定义的引用“的问题,将JASPER、netcdf等都重新安装过,并且在两个系统(Ubuntu16.4\17.4)上都试过,但还是会遇到这个错误
问题截图:
系统平台: Ubuntu16.4/Ubuntu17.4

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我在安装NOAH-MP的区域模式HRLDAS 3.7.1
遇到了下面的“未定义的引用”的问题
请各位大神帮忙看看  谢谢
我是在虚拟机Ubuntu17.4 上安装的  用的是gfortran
Ubuntu 64 位-2018-08-22-16-28-31.png
图片上面是user_build_options  下面的make 之后报的错
make之后出现的代发如下:
lxr@ubuntu:~/hrldas-release-3.7.1/HRLDAS$ make
(cd Utility_routines;                make)
make[1]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/Utility_routines'

rm -f module_date_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_date_utilities.F > module_date_utilities.f90
/usr/bin/gfortran-7 -o module_date_utilities.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_date_utilities.f90


rm -f module_model_constants.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_model_constants.F > module_model_constants.f90
/usr/bin/gfortran-7 -o module_model_constants.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_model_constants.f90


rm -f module_wrf_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_wrf_utilities.F > module_wrf_utilities.f90
/usr/bin/gfortran-7 -o module_wrf_utilities.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_wrf_utilities.f90


rm -f kwm_string_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ kwm_string_utilities.F > kwm_string_utilities.f90
/usr/bin/gfortran-7 -o kwm_string_utilities.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none kwm_string_utilities.f90

make[1]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/Utility_routines'
(cd phys;                        make)
make[1]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/phys'

rm -f module_sf_noahmplsm.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_sf_noahmplsm.F > module_sf_noahmplsm.f90
/usr/bin/gfortran-7 -o module_sf_noahmplsm.o -c -I../Utility_routines -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_sf_noahmplsm.f90


rm -f module_sf_noahmp_glacier.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_sf_noahmp_glacier.F > module_sf_noahmp_glacier.f90
/usr/bin/gfortran-7 -o module_sf_noahmp_glacier.o -c -I../Utility_routines -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_sf_noahmp_glacier.f90


rm -f module_sf_noahmp_groundwater.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_sf_noahmp_groundwater.F > module_sf_noahmp_groundwater.f90
/usr/bin/gfortran-7 -o module_sf_noahmp_groundwater.o -c -I../Utility_routines -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_sf_noahmp_groundwater.f90


rm -f module_sf_noahmpdrv.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_ module_sf_noahmpdrv.F > module_sf_noahmpdrv.f90
/usr/bin/gfortran-7 -o module_sf_noahmpdrv.o -c -I../Utility_routines -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none module_sf_noahmpdrv.f90

make[1]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/phys'
(cd IO_code;                        make)
make[1]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/IO_code'

rm -f module_hrldas_netcdf_io.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_  -I/usr/local/netcdf/include module_hrldas_netcdf_io.F > module_hrldas_netcdf_io.f90
/usr/bin/gfortran-7 -o module_hrldas_netcdf_io.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none -I ../MPP -I../Utility_routines -I/usr/local/netcdf/include  module_hrldas_netcdf_io.f90


rm -f module_NoahMP_hrldas_driver.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_  module_NoahMP_hrldas_driver.F > module_NoahMP_hrldas_driver.f90
/usr/bin/gfortran-7 -o module_NoahMP_hrldas_driver.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none -I -I. \
-I../phys -I../Utility_routines -I/usr/local/netcdf/include module_NoahMP_hrldas_driver.f90
f951: Warning: Nonexistent include directory ‘-I.’ [-Wmissing-include-dirs]


rm -f main_hrldas_driver.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -D_HRLDAS_OFFLINE_  main_hrldas_driver.F > main_hrldas_driver.f90
/usr/bin/gfortran-7 -o main_hrldas_driver.o -c -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -ffree-form  -ffree-line-length-none -I ../MPP -I. \
-I../phys -I../Utility_routines -I/usr/local/netcdf/include main_hrldas_driver.f90

make[1]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/IO_code'
(cd run;                        make)
make[1]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/run'

echo "    -Wl,-rpath, -L -lhdf5 -lz"
    -Wl,-rpath, -L -lhdf5 -lz
/usr/bin/gfortran-7 -o hrldas.exe -I../IO_code -I../phys ../IO_code/main_hrldas_driver.o ../IO_code/module_hrldas_netcdf_io.o ../phys/module_sf_noahmpdrv.o ../phys/module_sf_noahmplsm.o ../phys/module_sf_noahmp_glacier.o ../phys/module_sf_noahmp_groundwater.o ../Utility_routines/module_wrf_utilities.o ../Utility_routines/module_model_constants.o ../Utility_routines/module_date_utilities.o ../Utility_routines/kwm_string_utilities.o ../IO_code/module_NoahMP_hrldas_driver.o    -L/usr/local/netcdf/lib -lnetcdf -lnetcdff

make[1]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/run'
(cd HRLDAS_forcing;                make)
make[1]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing'
(cd lib; make)
make[2]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib'

rm -f module_grib2_tables.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_grib2_tables.F > module_grib2_tables.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_grib2_tables.f90

rm -f module_mapinfo.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_mapinfo.F > module_mapinfo.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_mapinfo.f90

rm -f kwm_date_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES kwm_date_utilities.F > kwm_date_utilities.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include kwm_date_utilities.f90

rm -f module_grib_common.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_grib_common.F > module_grib_common.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_grib_common.f90

rm -f module_grib1.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_grib1.F > module_grib1.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_grib1.f90

rm -f module_grib2.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_grib2.F > module_grib2.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_grib2.f90

rm -f trig_degrees.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES trig_degrees.F > trig_degrees.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include trig_degrees.f90

rm -f module_llxy.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_llxy.F > module_llxy.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_llxy.f90

rm -f module_input_data_structure.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_input_data_structure.F > module_input_data_structure.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_input_data_structure.f90

rm -f arguments_module.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES arguments_module.F > arguments_module.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include arguments_module.f90

rm -f gbytesys.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES gbytesys.F > gbytesys.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include gbytesys.f90

rm -f swap4f.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES swap4f.F > swap4f.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include swap4f.f90
/usr/bin/gcc-6 -c -D_BZIP_YES cio.c
cio.c:31:15: warning: return type defaults to ‘int’ [-Wimplicit-int]
#define copen copen_
               ^
cio.c:72:1: note: in expansion of macro ‘copen’
copen(nunit, name, mode, err, oflag)
^~~~~
cio.c:36:16: warning: return type defaults to ‘int’ [-Wimplicit-int]
#define bnseek bnseek_
                ^
cio.c:148:1: note: in expansion of macro ‘bnseek’
bnseek(fd, bread, mode, iprint)
^~~~~~
cio.c: In function ‘bnseek_’:
cio.c:179:31: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘off_t {aka long int}’ [-Wformat=]
        printf(" lseek return=%d, *mode=%d\n", i, *mode);
                               ^
cio.c: At top level:
cio.c:33:16: warning: return type defaults to ‘int’ [-Wimplicit-int]
#define bnread bnread_
                ^
cio.c:186:1: note: in expansion of macro ‘bnread’
bnread(fd, buf, nbuf, bread, ios, idiag)
^~~~~~
cio.c:34:16: warning: return type defaults to ‘int’ [-Wimplicit-int]
#define bnwrit bnwrit_
                ^
cio.c:237:1: note: in expansion of macro ‘bnwrit’
bnwrit(fd, buf, nbuf, bwritten, err, idiag)
^~~~~~
cio.c:32:16: warning: return type defaults to ‘int’ [-Wimplicit-int]
#define cclose cclose_
                ^
cio.c:271:1: note: in expansion of macro ‘cclose’
cclose(nunit, iprint, err)
^~~~~~

rm -f kwm_grid_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES kwm_grid_utilities.F > kwm_grid_utilities.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include kwm_grid_utilities.f90

rm -f kwm_timing_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES kwm_timing_utilities.F > kwm_timing_utilities.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include kwm_timing_utilities.f90

rm -f kwm_string_utilities.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES kwm_string_utilities.F > kwm_string_utilities.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include kwm_string_utilities.f90
/usr/bin/gcc-6 -c swap4c.c

rm -f get_unused_unit.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES get_unused_unit.F > get_unused_unit.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include get_unused_unit.f90
/usr/bin/gcc-6 -c -I/usr/local/JASPER/include/ decode_jpeg2000.c
/usr/bin/gcc-6 -c  -D_BZIP_YES -I/usr/local/bzip2/include io_f.c

rm -f module_grib.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_grib.F > module_grib.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_grib.f90

rm -f module_geo_em.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_  -DBIT32 -D_BZIP_YES module_geo_em.F > module_geo_em.f90
/usr/bin/gfortran-7 -c -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I/usr/local/netcdf/include module_geo_em.f90
rm -f libsmda.a
ar q libsmda.a module_grib2.o module_grib2_tables.o trig_degrees.o module_input_data_structure.o arguments_module.o gbytesys.o swap4f.o module_llxy.o cio.o kwm_date_utilities.o kwm_grid_utilities.o kwm_timing_utilities.o kwm_string_utilities.o swap4c.o get_unused_unit.o decode_jpeg2000.o io_f.o module_mapinfo.o module_grib1.o module_grib.o module_grib_common.o module_geo_em.o
ar: 正在创建 libsmda.a
make[2]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib'
(make -f Makefile all)
make[2]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing'

rm -f create_forcing.f90
/usr/bin/cpp-6 -P -traditional -D_GFORTRAN_   create_forcing.F > create_forcing.f90
/usr/bin/gfortran-7 -ffree-form  -ffree-line-length-none -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -c -I/usr/local/netcdf/include -I./lib -I./lib create_forcing.f90
(cd lib; make)
make[3]: Entering directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib'
/usr/bin/gfortran-7 -o create_forcing.exe -I./lib -g -fconvert=big-endian -fbounds-check -fno-range-check -fno-underscoring -I./lib create_forcing.o \
        -L./lib -lsmda -L/usr/local/netcdf/lib -lnetcdf -lnetcdff -L/usr/local/bzip2/lib -lbz2 -L/usr/local/libjpeg/lib -ljpeg -L/usr/local/JASPER/lib -ljasper
./lib/libsmda.a(module_grib2.o):在函数‘__module_grib2_MOD_fortran_decode_jpeg2000’中:
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib2.f90:148:对‘info_jpeg2000’未定义的引用
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib2.f90:156:对‘decode_jpeg2000’未定义的引用
./lib/libsmda.a(module_grib.o):在函数‘__module_grib_MOD_findgrib’中:
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:186:对‘io_fread’未定义的引用
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:203:对‘io_fread’未定义的引用
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:223:对‘io_fread’未定义的引用
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:280:对‘io_ftell’未定义的引用
./lib/libsmda.a(module_grib.o):在函数‘__module_grib_MOD_getgrib’中:
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:114:对‘io_fread’未定义的引用
./lib/libsmda.a(module_grib.o):在函数‘__module_grib_MOD_gribclose’中:
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:77:对‘c_close’未定义的引用
./lib/libsmda.a(module_grib.o):在函数‘__module_grib_MOD_gribopen’中:
/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing/lib/module_grib.f90:67:对‘c_gribopen’未定义的引用
collect2: error: ld returned 1 exit status
Makefile:28: recipe for target 'create_forcing.exe' failed
make[2]: *** [create_forcing.exe] Error 1
make[2]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing'
Makefile:12: recipe for target 'default' failed
make[1]: *** [default] Error 2
make[1]: Leaving directory '/home/lxr/hrldas-release-3.7.1/HRLDAS/HRLDAS_forcing'
Makefile:8: recipe for target 'all' failed
make: *** [all] Error 2


现在的这些库、编译器什么的是可以成功安装WRF/WPS、 Noan-MP单点模式simple-driver-Noah-mp-v1.1、 RegCM、
HRLDAS3.6这些
遇到问题的是HRLDAS3.7.1版本   
请各位大神帮忙看看 谢谢啊


密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-8-23 11:35:16 | 显示全部楼层
这个问题解决了   
把user_build_options中的
F90FLAGS       =       -g -fconvert=big-endian -fbounds-check  -fno-range-check  -fno-underscoring
改为
F90FLAGS       =       -g -fconvert=big-endian -fbounds-check  -fno-range-check # -fno-underscoring
这样就好了  虽然不知道为什么这样就好了   大概是f90和f77版本的问题吧

评分

参与人数 1金钱 +6 贡献 +2 收起 理由
暮雪千山 + 6 + 2 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表