小编agn*_*uss的帖子

如何修复符号查找错误:群集环境中的未定义符号错误

我正在研究一些python代码,它使用GDAL(http://www.gdal.org/)及其python绑定从ECW文件中提取一些图像数据.GDAL是从源代码构建的,以获得ECW支持.

该程序在我进入的集群服务器上运行.我已经通过ssh终端测试了程序,运行正常.但是,我现在想使用qsub向集群提交作业,但它报告以下内容:

Traceback (most recent call last):
  File "./gdal-test.py", line 5, in <module>
    from osgeo import gdal
  File "/home/h3/ctargett/.local/lib/python2.6/site-packages/GDAL-1.11.1-py2.6-linux-x86_64.egg/osgeo/__init__.py", line 21, in <module>
    _gdal = swig_import_helper()
  File "/home/h3/ctargett/.local/lib/python2.6/site-packages/GDAL-1.11.1-py2.6-linux-x86_64.egg/osgeo/__init__.py", line 17, in swig_import_helper
    _mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: /mnt/aeropix/prgs/.local/lib/libgdal.so.1: undefined symbol: H5Eset_auto2
Run Code Online (Sandbox Code Playgroud)

我做了一些挖掘,并尝试使用LD_DEBUG=symbols尝试找出差异的地方,但这就是我的知识/理解带给我的.

作为参考,这里是LD_DEBUG=symbols在ssh终端中运行和运行代码的事情(通过管道grep H5Eset_auto2来减少一些输出):

在ssh终端中运行的代码的符号调试输出:

 11359: symbol=H5Eset_auto2;  lookup in file=/usr/bin/python26 [0]
 11359: symbol=H5Eset_auto2;  lookup in file=/usr/lib64/libpython2.6.so.1.0 [0]
 11359: symbol=H5Eset_auto2;  lookup in file=/lib64/libpthread.so.0 [0]
 11359: symbol=H5Eset_auto2;  lookup in file=/lib64/libdl.so.2 [0]
 11359: …
Run Code Online (Sandbox Code Playgroud)

linux linker cluster-computing python-2.6 gdal

32
推荐指数
1
解决办法
10万
查看次数

标签 统计

cluster-computing ×1

gdal ×1

linker ×1

linux ×1

python-2.6 ×1