无法在 RHEL6 64 位上安装 Rtree 0.8.2 包

无法在 RHEL6 64 位上安装 Rtree 0.8.2 包

更新:

如果这也有帮助的话。我有 root 访问权限。似乎我不是唯一遇到此问题的人,但有几个人遇到了此问题 https://github.com/ioos/conda-recipes/pull/198 我已按照链接中记录的相应更新了我的 core.py,但是我收到了一个新的错误。

python setup.py build
Traceback (most recent call last):
  File "setup.py", line 4, in <module>
    import rtree
  File "/home/ricson/Rtree-0.8.2/rtree/__init__.py", line 1, in <module>
    from .index import Rtree
  File "/home/ricson/Rtree-0.8.2/rtree/index.py", line 6, in <module>
    from . import core
  File "/home/ricson/Rtree-0.8.2/rtree/core.py", line 113, in <module>
    rt = ctypes.CDLL(os.path.join(sys.prefix, 'lib', lib_name))
  File "/usr/lib64/python2.6/ctypes/__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: /usr/lib/libspatialindex_c.so: cannot open shared object file: No such file or directory

我确实知道这是一个目录问题,但我没有安装任何不寻常的东西。我使用 .configure; make; make install; ldconfig 安装了 libspatialindex 1.8.5;不多不少。

我能够构建和执行,如果我改变

rt = ctypes.CDLL(os.path.join(sys.prefix, 'lib', lib_name))

rt = ctypes.CDLL(os.path.join(sys.prefix, 'local/lib', lib_name))

然而,Rtree 将在 6 次测试中失败 3 次。

原来的:

我正在尝试在 python 2.6.6 上安装 Rtree 模块,但是 setup.py 坚持要求我安装 libspatialindex 1.6,而我显然刚刚安装了 libspatialindex 1.8.5

我是否错过了一些步骤? libspatialindex 所有者规定的以下脚本确实返回了 1.8.5 (https://github.com/libspatialindex/libspatialindex/wiki/1.-Getting-Started

#include <iostream>
#include <spatialindex/capi/sidx_api.h>
using namespace std;
using namespace SpatialIndex;

    int main(int argc, char* argv[])
    {
        char* pszVersion = SIDX_Version();
        fprintf(stdout, "libspatialindex version: %s\n", pszVersion);
        fflush(stdout);
        free(pszVersion);
    }

但是当我在 Rtree 中编辑 index.py 时,我得到的是 1.6.1 版本,而我显然已经安装了 1.8.5

python ../setup.py
core.rt.SIDX_Version() 1.6.1
Traceback (most recent call last):
  File "../setup.py", line 4, in <module>
    import rtree
  File "/home/ricson/Rtree-0.8.2/rtree/__init__.py", line 1, in <module>
    from .index import Rtree
  File "/home/ricson/Rtree-0.8.2/rtree/index.py", line 39, in <module>
    raise Exception("This version of Rtree requires libspatialindex 1.7.0 or greater")
Exception: This version of Rtree requires libspatialindex 1.7.0 or greater

如果需要将其移至 serverfault,请告知我。提前致谢。

答案1

暂时将其设置为关闭。已安装 r-tree 0.6,只需要 spatialindex 1.5.0+

rtree 将通过 5/6 的测试。我的基本脚本目前可以工作,但最终需要记住,从长远来看,这可能会造成问题。

相关内容