我使用的模型是在 Ubuntu 14.04 下编写的 Fortran90。Ubuntu 软件中心安装了 gfortran 95 编译器 (gfortran 4:4.8.2-1ubuntu6) 和 gcc 4:4.8.2-1ubuntu6。安装的 gcc 在 usr/lib/gcc/x86_64-linux/gnu 中也有一个 4.9 空文件夹。所需的 netCDF 库 (netCDF C 和 Fortran netCDF) 按照以下建议安装:http://www.unidata.ucar.edu/software/netcdf/docs/. netcdf 被构建为共享库。
编译器选项和LDFLAGS在compiler_options.inc文件中按以下方式设置:
ifeq ($(COMPILER), gfortran)
FPP= -x f95-cpp-input
ifdef TESTING
OPTS=-g -O0 -W -Wall -pedantic-errors -fbounds-check -fbacktrace \
-ffpe-trap=invalid,zero,overflow -frange-check #-Werror
else
OPTS=-O3 -pg -g
endif
endif
INCDF=-I$(NCPATH)/include
LNCDF=-L$(NCPATH)/lib -lnetcdff -lnetcdf
LDFLAGS=$(INCDF) $(LNCDF)
当我编译模型时,我收到以下消息:
/home/Beata/kid_a_setup/src/test_cases_2d.f90:1446: undefined reference to `_gfortran_runtime_error_at'
/home/Beata/kid_a_setup/src/test_cases_2d.f90:1446: undefined reference to `_gfortran_runtime_error_at'
/home/Beata/kid_a_setup/src/test_cases_2d.f90:1446: undefined reference to `_gfortran_runtime_error_at'
/home/Beata/kid_a_setup/src/test_cases_2d.f90:1449: undefined reference to `_gfortran_runtime_error_at'
../obj/test_cases_2d.o:/home/Beata/kid_a_setup/src/test_cases_2d.f90:1449: more undefined references to `_gfortran_runtime_error_at' follow
../obj/test_cases_2d.o: In function `__test_cases_2d_MOD_set_gate_thermo_profile':
看起来 gcc 可能没有找到 fortran 库。
有人可以向我解释导致错误的原因以及如何修复它吗?