libnetcdf-fortran的OSError:未定义的符号

时间:2016-11-09 15:49:33

标签: python fortran gfortran netcdf netcdf4

我不得不在我的Linux(Ubuntu 15.10)上更新一些Anaconda / Python软件包,结果我现在得到以下从未见过的错误消息:

OSError: /usr/lib/x86_64-linux-gnu/libnetcdff.so.6: undefined symbol:nc_rename_grp

在Python脚本中调用基于Fortran的程序时发生错误。然而,在没有Python的情况下运行相同的程序时,一切都运行得很好......

我还在更新后重新编译了程序,但没有任何改变。

有没有人知道这里发生了什么?

2 个答案:

答案 0 :(得分:0)

符号nc_rename_grp在libnetcdf.so中定义。如果使用子进程运行FORTRAN代码,则必须按如下方式声明env:

env["LD_LIBRARY_PATH"] = "/usr/lib/x86_64-linux-gnu"
h = subprocess.Popen(cmd,env=env)

答案 1 :(得分:0)

感谢大家的帮助。该问题是由于./bashrc中netcdf库的错误设置路径引起的,因此程序(即计算机程序/模型)无法正常工作。现在一切都解决了,程序/模型已经启动并运行了!