새 라이브러리가 추가되고 오래된 라이브러리가 돌아다니고 있습니다.

새 라이브러리가 추가되고 오래된 라이브러리가 돌아다니고 있습니다.

우분투 12.04에서는 지리 공간 라이브러리 gdal-1.11.0의 소스 코드를 ~/src에 다운로드하여 구성하고 성공적으로 컴파일한 것 같습니다. 예를 들어, 새 파일은 libgdal.a/usr/local/lib에 배치됩니다.

그러나 이에 의존하는 프로그램을 실행하면

$ ogrinfo --formats

알겠어요

ERROR 1: ogrinfo was compiled against GDAL 1.11 but current library version is 1.10

이전 버전의 GDAL을 제거하지 않은 것 같습니다. 어떻게 해야 하나요?

내 시스템에 대한 일부 정보:

$ uname -a
Linux ubuntu 3.11.0-15-generic #25~precise1-Ubuntu SMP Thu Jan 30 17:39:31 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

답변1

이 파일은 공유 라이브러리를 사용하지 않고 링크하는 경우 libgdal.a에만 사용됩니다 . 공유 라이브러리를 사용하지 않고 이런 방식으로 연결 ogrinfo하면 ogrinfo라이브러리(버전 1.11)가 실행 파일의 일부가 되므로 오류가 발생하지 않습니다.

당신이 시도해야 할 것은 실행하는 것입니다

sudo ldconfig

새 버전을 컴파일하고 설치한 후 gdal시스템(버전 1.10이 공유 라이브러리로 로드됨)에 새 버전을 사용할 수 있다는 알림이 전달되어야 합니다.

답변2

이전 버전의 GDAL을 제거하지 않은 것 같습니다. 어떻게 해야 하나요?

소스 코드를 유지했다면 시도해 보는 것이 make uninstall합리적인 선택이고 , 로컬 설치를 수행하는 경우에는 좋은 습관입니다.

간단한 대안은 라이브러리와 관련된 모든 파일(이전 및 새 파일)을 삭제하고 새 파일을 다시 설치하는 것입니다.

그러나 Debian(따라서 Ubuntu)에서 패키지를 사용할 수 있는데 왜 소스에서 설치하려는지 궁금합니다. 이전 버전의 Ubuntu를 사용 중이고 적합한 PPA를 사용할 수 없는 경우 다음을 참고하세요.백포트최신 Ubuntu 버전/버전에서는 가능하며 대부분 어렵지 않습니다.

Debian에 나열된 GDAL 1.11 빌드 종속성은 다음과 같습니다.

빌드 종속성: debhelper(>= 9), dh-autoreconf, zlib1g-dev, libnetcdf-dev(>= 1:4.0.0), netcdf-bin, libjasper-dev, libpng-dev, libjpeg-dev, libgif-dev , libwebp-dev, libhdf4-alt-dev [!ppc64], libhdf5-dev (>= 1.8.8), libpcre3-dev, libpq-dev, libxerces-c-dev, unixodbc-dev (>= 2.2.11) , doxygen, d-shlibs, libgeos-dev, libmysqlclient-dev, dh-python, python-all-dev (>= 2.6.6-3~), python-numpy, python3-all-dev, python3-numpy, libcurl4 -gnutls-dev | libcurl4-gnutls-dev | libcurl-ssl-dev, libsqlite3-dev, libogdi3.2-dev, chrpath, swig, 패치, libexpat1-dev, libproj-dev, libdap-dev, libxml2-dev, libspatialite -dev(>= 2.4.0~rc2- 4), libepsilon-dev(>= 0.9.1-1~), libpoppler-private-dev, liblzma-dev, libopenjpeg-dev, libarmadillo-dev, libfreexl-dev( >= 1.0.0), libkml-dev (>= 1.3.0~), liburiparser-dev, 기본 jdk, ant

꽤 좋아 보인다. 명확히 하자면, 여기서의 아이디어는 귀하의 버전에서 Debian/Ubuntu 소스를 다시 빌드하는 것입니다. 팁이나 자세한 내용이 필요하면 자세히 설명할 수 있습니다.

다음은 Debian에서 사용 가능한 GDAL 버전입니다.

$ apt-cache policy libgdal1-dev
libgdal1-dev:
  Installed: (none)
  Candidate: 1.9.0-3.1
  Version table:
     1.11.0+dfsg1-1~exp2 0
          1 http://debian.lcs.mit.edu/debian/ experimental/main amd64 Packages
     1.10.1+dfsg-6 0
         50 http://debian.lcs.mit.edu/debian/ testing/main amd64 Packages
         50 http://debian.lcs.mit.edu/debian/ unstable/main amd64 Packages
     1.9.0-3.1 0
        500 http://debian.lcs.mit.edu/debian/ wheezy/main amd64 Packages
     1.6.3-4+b1 0
        500 http://debian.lcs.mit.edu/debian/ squeeze/main amd64 Packages

관련 정보