Назад | Перейти на главную страницу

Невозможно установить пакет Rtree 0.8.2 на 64-разрядную версию RHEL6

ОБНОВИТЬ:

Если это тоже поможет. Имею 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

Я знаю, что это проблема с каталогом, но я не устанавливал ничего необычного. Я установил libspatialindex 1.8.5 с помощью .configure; делать; сделать установку; ldconfig; не больше не меньше.

Я могу создавать и выполнять, если изменю

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

к

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

Однако Rtree провалит 3 из 6 тестов.

ОРИГИНАЛ:

Я пытаюсь установить модуль Rtree на python 2.6.6, однако 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);
    }

Однако когда я редактировал index.py в Rtree и получаю версию 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. Заранее спасибо.

Сейчас будет закрыто. Решено с установкой r-tree 0.6, которому требуется только пространственный индекс 1.5.0+

rtree будет тест 5/6 пройден. На данный момент мой основной сценарий работает, но со временем мне нужно будет помнить, что это может вызвать проблемы в долгосрочной перспективе.