Ошибка postgresql: неопределенный символ: GEOSClipByRect в django

когда я мигрирую в django
django возвращает ошибку ниже

$ python manager.py migrate

django.db.utils.InternalError: не удалось загрузить библиотеку "/usr/lib/postgresql/9.6/lib/postgis-2.3.so": /usr/lib/liblwgeom-2.3.so.0: неопределенный символ: GEOSClipByRect

я изучил много сообщений, но не нашел решения.
Кто-нибудь знает решение?
информация о моей системе указана ниже


$ lsb_release -a

Идентификатор распространителя: Ubuntu
Описание: Ubuntu 16.04.2 LTS
Выпуск: 16.04
Кодовое имя: xenial



$ dpkg -l | grep postgres

ii postgresql-9.6 9.6.2-1.pgdg16.04 + 1 объектно-реляционная база данных SQL amd64, сервер версии 9.6
ii postgresql-9.6-pgrouting 2.3.2 + ds-2.pgdg16.04 + 1 amd64 Функциональность маршрутизации поддержка PostgreSQL / PostGIS
ii postgresql-9.6-pgrouting-scripts 2.3.2 + ds-2.pgdg16.04 + 1 поддержка всех функций маршрутизации для PostgreSQL / PostGIS - сценарии
ii postgresql-9.6-postgis-2.3 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 amd64 Поддержка географических объектов для PostgreSQL 9.6
ii postgresql-9.6-postgis-2.3-scripts 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 поддержка всех географических объектов для PostgreSQL 9.6 - сценарии
ii postgresql-client-9.6 9.6.2-1.pgdg16.04 + 1 интерфейсные программы amd64 для PostgreSQL 9.6
ii postgresql-client-common 180.pgdg16 .04 + 1 все менеджер для нескольких версий клиента PostgreSQL
ii postgresql-common 180.pgdg16.04 + 1 менеджер кластеров всех баз данных PostgreSQL
ii postgresql-contrib 9.6 + 180.pgdg16.04 + 1 все дополнительные возможности для PostgreSQL (поддерживаемая версия )
ii postgresql-contrib-9.6 9.6.2-1.pgdg16.04 + 1 amd64 дополнительные возможности для PostgreSQL



$ dpkg -l | grep postgres

ii postgis 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 amd64 Поддержка географических объектов для PostgreSQL
ii postgis-doc 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 поддержка всех географических объектов для PostgreSQL - документация
ii postgresql-9.6-postgis-2.3 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 amd64 Поддержка географических объектов для PostgreSQL 9.6
ii postgresql-9.6-postgis-2.3-scripts 2.3.2 + dfsg-1 ~ exp2.pgdg16.04 + 1 поддержка всех географических объектов для PostgreSQL 9.6 - скрипты


person 이경훈    schedule 24.04.2017    source источник
comment
Очевидно, что установленный вами liblwgeom не подходит для версии PostGIS, но я недостаточно знаю об упаковке Ubuntu, чтобы помочь вам в дальнейшем.   -  person Laurenz Albe    schedule 24.04.2017
comment
спасибо за ответ, я буду искать правильную версию liblwgeom!   -  person 이경훈    schedule 26.04.2017


Ответы (1)


Вполне вероятно, что вы используете старую версию GEOS (я предполагаю, 3.4. Вы можете узнать версию, выполнив geos-config --version). Что вам нужно сделать, так это удалить текущую версию GEOS и переустановить новую версию:

Удалите файлы geos из / usr / bin / usr / local / bin usr / lib usr / local / lib. Должно быть довольно легко идентифицировать

Для установки версии 3.5 выполните следующее:

$ wget http://download.osgeo.org/geos/geos-3.5.1.tar.bz2

$ tar xjf geos-3.5.1.tar.bz2

$ cd geos-3.5.2

$ ./configure

$ make

$ sudo make install

$ sudo ldconfig

Изменить: используйте наиболее подходящую версию GEOS для вашего проекта. Использование 3.5 не обязательно.

person Suhas Mallya    schedule 08.06.2018