libgdal20과 libgdal26이 호환되지 않는 Ubuntu 18.04에 Postgis를 설치하시겠습니까?

libgdal20과 libgdal26이 호환되지 않는 Ubuntu 18.04에 Postgis를 설치하시겠습니까?

나는 이것을 며칠 동안 보고 있었지만 아직 해결책을 찾지 못했습니다.

내 우분투 18.04 시스템에 Postgresql-13-postgis-3을 설치하려고 합니다. 현재 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 등을 제거하는 것은 옵션이 아닙니다). gdal 3.x를 사용하여 Postgis를 설치할 수 있는 방법이 있습니까? 해당 문서에 따르면 그렇게 보이는데 내 시스템에서는 허용되지 않습니다. 다른 사용자도 비슷한 문제를 겪고 있는 것 같습니다(참조:gdal을 3.0.4로 업그레이드한 후 ubuntu 18.04에 postgis를 설치하십시오.) 그런데 해결방법이 게시되지 않았습니다(본 게시물에 직접 문의하려고 했으나 질문별로 삭제되었습니다).

그동안 저는 Windows 컴퓨터를 사용하여 계속 작업하고 있습니다. 원샷으로 모든 것을 설치하고 작업할 수 있었습니다. 지금까지 우분투의 GIS 소프트웨어(qGIS 및 GDAl)는 충족되지 않은 종속성으로 인해 많은 문제를 안겨주었습니다... 심지어 OS 전환에 대해 생각하게 만들었습니다! 안타깝지만 나도 알아...

어떤 도움이라도 대단히 감사하겠습니다!

답변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

비슷한 문제가있었습니다. OS를 업데이트하지 않고도 다음을 수행해야 했습니다.

  1. 배포판을 제거 cmake하고 최신 배포판인 3.21.3을 설치하십시오.

  2. 5.3 컴파일/설치 CGAL.

  3. 1.4를 컴파일/설치합니다 SFCGAL(컴파일하려면 최신 버전 cmake이 필요함).

  4. GEOS3.8.2로 컴파일/업데이트합니다 .

  5. 다음 libs를 설치하십시오.

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

    이것은 종속성의 전체 목록은 아니지만 꽤 좋은 시작입니다.

관련 정보