FLEXPART
是一个基于fortran的模型,用于模拟大气物种的排放、传输和扩散。
在
source code
,我遇到了一个奇怪的错误。
我的生成文件已上载
here
是的。
错误显示如下:
/disk2/hyf/lib/gcc-4.9.4/bin/gfortran -o FP_gfs_gfortran par_mod.o com_mod.o conv_mod.o hanna_mod.o interpol_mod.o cmapf_mod.o unc_mod.o oh_mod.o xmass_mod.o flux_mod.o point_mod.o outg_mod.o random_mod.o advance.o initialize.o writeheader.o writeheader_txt.o writeheader_surf.o assignland.o part0.o gethourlyOH.o caldate.o partdep.o coordtrafo.o psih.o raerod.o readcommand.o drydepokernel.o readreceptors.o erf.o readavailable.o ew.o readreleases.o readdepo.o psim.o outgrid_init.o outgrid_init_nest.o photo_O1D.o readlanduse.o interpol_wind.o readoutgrid.o interpol_all.o readpaths.o getrb.o getrc.o getvdep.o readspecies.o interpol_misslev.o scalev.o pbl_profile.o readOHfield.o juldate.o interpol_vdep.o interpol_rain.o hanna.o wetdepokernel.o mean.o wetdepo.o hanna_short.o windalign.o hanna1.o gridcheck_nests.o readwind_nests.o calcpar_nests.o verttransform_nests.o interpol_all_nests.o interpol_wind_nests.o interpol_misslev_nests.o interpol_vdep_nests.o interpol_rain_nests.o readageclasses.o calcfluxes.o fluxoutput.o qvsat.o skplin.o convect43c.o sort2.o distance.o centerofmass.o plumetraj.o openouttraj.o calcpv.o calcpv_nests.o distance2.o clustering.o interpol_wind_short.o interpol_wind_short_nests.o shift_field_0.o shift_field.o openreceptors.o readoutgrid_nest.o writeheader_nest.o writeheader_nest_surf.o wetdepokernel_nest.o drydepokernel_nest.o zenithangle.o ohreaction.o getvdep_nests.o initial_cond_calc.o initial_cond_output.o dynamic_viscosity.o get_settling.o initialize_cbl_vel.o re_initialize_particle.o cbl.o netcdf_output_mod.o releaseparticles.o partoutput.o conccalc.o init_domainfill.o concoutput.o timemanager.o FLEXPART.o readpartpositions.o partoutput_short.o concoutput_nest.o boundcond_domainfill.o redist.o concoutput_surf.o concoutput_surf_nest.o getfields.o calcpar_gfs.o readwind_gfs.o richardson_gfs.o verttransform_gfs.o obukhov_gfs.o gridcheck_gfs.o convmix_gfs.o calcmatrix_gfs.o -I/disk2/hyf/lib/grib_api/include -I/disk2/hyf/lib/netcdf-4.6.1/include -I/disk2/hyf/lib/hdf5/include -O2 -g -m64 -mcmodel=medium -fconvert=little-endian -frecord-marker=4 -fmessage-length=0 -flto=jobserver -O2 -mtune=native -fuse-linker-plugin -L/disk2/hyf/lib/grib_api/lib -L/disk2/hyf/lib/jasper/lib -L/disk2/hyf/lib/netcdf-4.6.1/lib -L/disk2/hyf/lib/hdf5/lib -lgrib_api_f90 -lgrib_api -lm -ljasper -lnetcdff
gfortran: error: -fuse-linker-plugin is not supported in this configuration
make: *** [FP_gfs_gfortran] Error 1
在编译路径中,所有的*.o文件都可以从*.f90文件生成,而错误显示标志有问题
-fuse-linker-plugin
#My computer system
$uname -a
Linux Xiehost 2.6.18-348.el5 #1 SMP Tue Jan 8 17:53:53 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
$gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/disk2/hyf/lib/gcc-4.9.4/libexec/gcc/x86_64-unknown-linux-gnu/4.9.4/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.4/configure --prefix=/disk2/hyf/lib/gcc-4.9.4 --enable-languages=c,c++,fortran,go
Thread model: posix
gcc version 4.9.4 (GCC)
我不知道怎么解决这个问题(
-编译中不支持fuse链接器插件
)中。任何建议或提示将不胜感激!
聚苯乙烯
谢谢你的评论。我从韦伯斯特那里学到的
Explain Linux commands
是的。
默认情况下,当gcc中的lto支持被启用,并且gcc被配置为与支持插件(gnu ld 2.21或更新版本或gold)的链接器一起使用时,此选项被启用。
但是,我的计算机中的gnu binutils是v2.17。因此,我更新了binutils,并重新编译gcc。那么,这个问题就可以解决了。