【发布时间】:2017-03-23 11:57:23
【问题描述】:
我必须在我的 Linux (Ubuntu 15.10) 上更新一些 Anaconda/Python 软件包,结果我现在收到以下我以前从未见过的错误消息:
OSError: /usr/lib/x86_64-linux-gnu/libnetcdff.so.6: undefined symbol:nc_rename_grp
在 Python 脚本中调用基于 Fortran 的程序时会发生该错误。但是,在没有 Python 的情况下运行相同的程序时,一切正常...
更新后我也重新编译了程序,但没有任何改变。
有人知道这里发生了什么吗?
【问题讨论】:
-
我认为 anaconda 在其目录结构的某处提供了自己的 netcdf 库版本。也许您正在使用一个动态链接的对象,当从 anaconda 中运行时,该对象期望使用 anaconda lib 版本(可能有额外的符号),但您的
LD_LIBRARY_PATH或类似意味着它正在获取系统版本(反之亦然) .您能否稍微详细说明一下“基于 fortran”的程序是什么以及如何运行它,即您是否只是在 python 中使用系统调用来运行可执行文件?如果是这样,您可以从 python 和外部 python 执行ldd myExecutable。 -
在英式英语中,program 是指计算机程序及其编程,program 用于该词的所有其他含义。
标签: python fortran gfortran netcdf netcdf4