Установка Postgis в Ubuntu 18.04 с libgdal26-несовместимость с libgdal20?

Установка Postgis в Ubuntu 18.04 с libgdal26-несовместимость с libgdal20?

Я уже пару дней слежу за этим, но пока не нашел решения.

Я пытаюсь установить Postgresql-13-postgis-3 на моей машине с Ubuntu 18.04. В настоящее время у меня установлены Postgresql 13 и libgdal26 (GDAL 3.0.4); libgdal26 совместима с моей установкой QGIS (3.10). Когда я пытаюсь установить Postgis, я получаю следующую ошибку:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies.
 postgis : Depends: libgdal20 (>= 2.0.1) but it is not going to be installed
 postgresql-13-postgis-3 : Depends: libgdal20 (>= 2.0.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Итак, я пытаюсь установить libgdal20, но он просит удалить много пакетов, включая qgis и libgdal26 (мне нужно работать с обоими, qgis и postgis, поэтому удаление qgis и т. д. не вариант). Есть ли способ установить postgis с помощью gdal 3.x? Судя по их документации, так и есть, но моя система не позволяет мне этого сделать. У других пользователей, похоже, есть похожие проблемы (см.установить postgis на ubuntu 18.04 после обновления gdal до 3.0.4), но решение не было опубликовано (я пытался напрямую задать вопрос в этом сообщении, но мой вопрос был удален).

В то же время мне удается продолжать работать на машине с Windows. Я смог установить все одним махом и работать. Программное обеспечение GIS (в частности qGIS и GDAl) в Ubuntu до сих пор доставляло много хлопот с неудовлетворенными зависимостями... даже заставило меня задуматься о смене ОС! Жаль, я знаю...

Любая помощь будет высоко оценена!

решение1

Здесь есть конфликт зависимостей. Одним из решений является ожидание, пока сопровождающие обновят зависимости (или, возможно, обновятся до более новой версии Ubuntu 20.04 LTS).

Другое решение — скомпилировать PostGIS из исходников, что не очень сложно. Используя последнюю версию PostGIS в качестве примера, вы можете:

wget https://download.osgeo.org/postgis/source/postgis-3.1.2.tar.gz
tar xf postgis-3.1.2.tar.gz
cd postgis-3.1.2
./configure
make && sudo make uninstall && sudo make install

затем перезапустите сервер.

решение2

У меня была похожая проблема. Не обновляя ОС, мне пришлось:

  1. Удалите дистрибутив cmakeи установите последнюю версию, 3.21.3.

  2. Компиляция/Установка CGAL5.3.

  3. Скомпилируйте/установите SFCGALверсию 1.4 ( cmakeдля компиляции требовалась последняя версия).

  4. Компиляция/обновление GEOSдо версии 3.8.2.

  5. Установите следующие библиотеки:

    sudo apt install protobuf-c-compiler libjsoncpp-dev libprotobuf-dev libprotobuf-c-dev libxml2-dev
    

    Это не полный список зависимостей, но довольно хорошее начало.

Связанный контент