gpt4 book ai didi

Python gdal undefined symbol GDALRasterBandGetVirtualMem

转载 作者:太空宇宙 更新时间:2023-11-03 12:47:39 25 4
gpt4 key购买 nike

我正在尝试使用 Python GDAL bindings .通过 pip 天真地安装绑定(bind)时,安装失败并显示 error: 'VSIFTruncateL' was not declared in this scope ,可能是由于安装的头文件和 python 绑定(bind)版本不匹配。 proposed solution elsewhere就是通过pip安装完全相同的版本。但是,我的系统有 gdal-1.7.3,没有 1.7.3 绑定(bind)。安装 1.7.1 bindings导致编译成功,但尝试运行会导致 undefined symbol: GDALRasterBandGetVirtualMem。因此,I installed 1.11.1 from source并针对它编译了最新的绑定(bind)。编译安装貌似可以,但是导入不行:

In [2]: import osgeo
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-2-26b16a6d02ad> in <module>()
----> 1 import osgeo

/export/data/home/gholl/venv/gerrit/lib/python3.4/site-packages/osgeo/__init__.py in <module>()
19 fp.close()
20 return _mod
---> 21 _gdal = swig_import_helper()
22 del swig_import_helper
23 else:

/export/data/home/gholl/venv/gerrit/lib/python3.4/site-packages/osgeo/__init__.py in swig_import_helper()
15 if fp is not None:
16 try:
---> 17 _mod = imp.load_module('_gdal', fp, pathname, description)
18 finally:
19 fp.close()

/export/data/home/gholl/venv/gerrit/lib64/python3.4/imp.py in load_module(name, file, filename, details)
241 return load_dynamic(name, filename, opened_file)
242 else:
--> 243 return load_dynamic(name, filename, file)
244 elif type_ == PKG_DIRECTORY:
245 return load_package(name, filename)

ImportError: /export/data/home/gholl/venv/gerrit/lib/python3.4/site-packages/osgeo/_gdal.cpython-34m.so: undefined symbol: GDALRasterBandGetVirtualMem

我现在很迷茫。我还可以尝试使用 gdal 及其 Python 绑定(bind)吗?

(系统是 Scientific Linux release 6.6 (Carbon),我没有系统管理员权限。)

最佳答案

如果已经安装了 gdal 版本,即使您链接到 ~/.local 中安装的版本,也会出现此问题。

a Planet MYSQL post here 给出了解决方案:

In this case, we can tell the linker to preload our newer 1.11.0 library in our shell this way:

export LD_PRELOAD=/usr/local/lib/libgdal.so.1

或者,就我而言,

export LD_PRELOAD="$HOME/.local/lib/libgdal.so.1"

的确,这解决了问题。

关于Python gdal undefined symbol GDALRasterBandGetVirtualMem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com