Anscheinend habe ich die ältere Version von GDAL nicht entfernt. Wie soll ich das machen
Der Versuch make uninstall
ist eine vernünftige Option, wenn Sie die Quellen beibehalten haben. Dies ist eine gute Vorgehensweise, wenn Sie lokale Installationen durchführen.
Eine einfache Alternative besteht darin, alle alten und neuen Dateien zu entfernen und die neue neu zu installieren.
Ich muss mich jedoch fragen, warum Sie von der Quelle installieren, wenn das Paket unter Debian und daher unter Ubuntu verfügbar ist. Wenn Sie eine ältere Version / Version von Ubuntu verwenden und keine geeigneten PPAs verfügbar sind, beachten Sie, dass das Backportieren von einer neueren Version / Version von Ubuntu möglich und in den meisten Fällen nicht schwierig ist.
Die aufgelisteten Build-Abhängigkeiten von GDAL 1.11 in Debian sind
Build-Depends: 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 ), Sauerstoff, 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 | libcurl-ssl-dev, libsqlite3-dev, libogdi3.2-dev, chrpath, swig, patch, 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, default-jdk, ant
das sieht nicht schlecht aus. Um klar zu sein, besteht die Idee hier darin, Debian / Ubuntu-Quellen in Ihrer Version neu zu erstellen. Wenn Sie Tipps oder weitere Details wünschen, kann ich näher darauf eingehen.
Hier sind die Versionen von GDAL, die in Debian verfügbar sind.
$ 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
make
ich es ausführeconfigure --with-fgdb=/usr/local/FileGDB_API --with-pg=/usr/bin/pg_config
). Die Version 1.10 wurde jedoch nicht von mir kompiliert, ich habe es auf einfache Weise gemacht und sie nur mit apt-get abgerufen, oder vielleicht wurde sie als Abhängigkeit abgerufen, ich erinnere mich nicht. Wenn ich make uninstall ausführe, wird die Version 1.10 nicht deinstalliert, oder? Sie schlagen vor, "alle Dateien zu entfernen, die sich auf diese Bibliothek beziehen". Welche Dateien sind das?debian/rules
.debian/rules
?$ sudo apt-get remove python-gdal python3-gdal libgdal1h libgdal1-dev libgdal-perl libgdal-java libgdal-doc libgdal-dev gdal-bin
dann$ sudo make install
vom Quellcode für gdal-1.11.0 und$ sudo ldconfig
anschließend$ ogrinfo --formats
kein Fehler erzeugt. Die längere Liste der Pakete, die ich entfernen musste, fand ich unter packages.debian.org/source/sid/gdalDie Datei
libgdal.a
wird nur verwendet, wenn Sieogrinfo
ohne Verwendung gemeinsam genutzter Bibliotheken einen Link dazu erstellen . Wenn diesogrinfo
auf diese Weise verknüpft wäre (ohne gemeinsam genutzte Bibliotheken), würde der Fehler nicht angezeigt, da die Bibliothek (Version 1.11) Teil der ausführbaren Datei wäre.Was Sie versuchen sollten, ist laufen
Nach dem Kompilieren und Installieren der neuen Version von
gdal
sollte dies das System (in dem Version 1.10 bereits als gemeinsam genutzte Bibliothek geladen ist) darüber informieren, dass eine neue Version verfügbar ist.quelle
sudo ldconfig
, wiederholte es dannogrinfo --formats
und bekam den gleichen Fehler.libdalXXXX.so
Bibliothek kopiert wurde ? Sie können dann versuchen,export LD_DEBUG=files
zu sehen, welche vor dem Startogrinfo
sudo ldconfig
wie von Ihnen vorgeschlagen ausgeführt habe.sudo ldconfig
sollte sie auf die neue Bibliothek verweisen und funktionieren.