Réparer GDAL et PROJ.4 cassés sur Ubuntu?

13

J'ai résolu le problème de la bibliothèque, mais d'autres restent, vaguement liés à celui de la bibliothèque PROJ.4 non chargée. J'ai posé une question de suivi pour ces derniers.

Mon package GDAL et la bibliothèque PROJ.4 sont endommagés, ce qui provoque des erreurs lors de la tentative de reprojection de fichiers (voir l'ancienne question ci-dessous). Je ne sais pas si ce problème a commencé alors que j'ai installé par erreur une autre instance de GDAL ou avant; cependant, je l'ai désinstallé et réinstallé QGIS et le problème persiste.

Après chaque réinstallation, QGIS dispose des mêmes plug-ins qu'auparavant, de sorte que la partie à l'origine des erreurs n'est pas affectée par le processus d'installation / désinstallation.

Qu'est-ce que j'ai essayé:

  • sudo apt-get remove build-essential python-all-devet sudo apt-get remove gdal-binpour purger le GDAL installé manuellement
  • (dés) installation de QGIS avec Ubuntu Software Center
  • sudo apt-get --purge autoremove
  • dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purgeet dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purgepour purger les fichiers de configuration

Toujours pas de chance. J'ai trouvé quelque chose qui semblait lié , mais c'est pour Windows, pas pour mon Ubuntu 14.04. Quoi d'autre (et comment) dois-je purger avant la prochaine installation de QGIS?


La question d'origine:

J'essaie de reprojeter certains fichiers de formes avec ogr2ogr. Cependant, j'obtiens toujours l'erreur suivante:

ERROR 6: Unable to load PROJ.4 library (libproj.so), creation of
OGRCoordinateTransformation failed.
Failed to create coordinate transformation between the
following coordinate systems.  This may be because they
are not transformable, or because projection services
(PROJ.4 DLL/.so) could not be loaded.

J'ai testé cela avec diverses transformations, y compris des combinaisons de base telles que WGS84 (EPSG: 4326) en UTM (EPSG: 3857), et cette erreur se produit tout le temps.

Le problème peut être dû au fait que bien que j'aie GDAL avec mon QGIS (2.10), je l'ai à nouveau installé par erreur (à partir de la source, en le faisant comme cette réponse l'a suggéré).

Après avoir rencontré ce problème à plusieurs reprises, j'ai essayé de désinstaller la nouvelle instance GDAL ( sudo apt-get remove build-essential python-all-devet sudo apt-get remove gdal-bin- je ne sais pas si elle est correctement supprimée ou non).

En /USR/LIB/j'ai libproj.so.0et libproj.so.0.7.0non libproj.so. Je ne peux pas le voir même avec les fichiers cachés affichés. Cependant, quand j'essaye ln -s libproj.so.0.7.0 libproj.so(ou pareil avec sudo), il se plaint qu'il libproj.soexiste déjà.

Pavel V.
la source
Il peut également être utile de supprimer et de réinstaller qgis.
AndreJ
@AndreJ: réinstallé et rien n'a changé. Cependant, les fichiers associés semblent intacts (j'ai les mêmes plugins qu'avant la réinstallation de QGIS, etc.), je vais donc essayer de le supprimer complètement maintenant.
Pavel V.
Je pense que vous devriez modifier le titre et les balises. Votre problème est un problème d'installation et vous souhaiterez peut-être demander comment corriger une installation interrompue.
user30184
@ user30184: édité, comme vous l'avez suggéré.
Pavel V.
2
Ce message d'erreur semble indiquer que libproj n'est pas en cours de chargement. Bien que les packages aient déjà dû le faire, avez-vous exécuté sudo ldconfig? De plus, la sortie de ldd ogrinfo(vous devrez peut-être donner le chemin complet pour ogrinfo) affiche-t-elle libproj.so et se trouve-t-elle dans le répertoire que vous attendiez (/ usr / lib)?
Evil Genius

Réponses:

12

Dans /gis/158457/gdal2tiles-how-to-make-filenames-of-tiles-to-represent-xyz-coordinates , quelqu'un mentionne faire:

sudo ln -s /usr/lib/libproj.so.0 /usr/lib/libproj.so

Ce qui a absolument corrigé la même erreur (ERREUR 6: Impossible de charger la bibliothèque PROJ.4 (libproj.so)) pour moi.


Sur l'architecture x86_64, vous devrez peut-être utiliser cette variante:

sudo ln -s /usr/lib64/libproj.so.0 /usr/lib/libproj.so
Akhorus
la source
1
Cela l'a résolu pour moi, et je faisais ma tête en essayant de le trouver par le nom de fichier dans l'erreur, tandis que son appelé libproj.so.0
ekerner
1
Je devais créer un lien symbolique à la fois libprojet gdalet avec des chiffres différents - à savoir , ln -s /usr/lib/libproj.so.15 /usr/lib/libproj.so; ln -s /usr/lib/libgdal.so.20 /usr/lib/libgdal.somais qui travaillent pour moi maintenant, merci pour le bœuf!
anotherdave
8

Après plusieurs mauvaises manières, y compris la réinstallation multiple du libproj0package et même l'installation de QGIS à partir de sources différentes de la valeur par défaut d'Ubuntu Software Center (je pense que cela provient du référentiel officiel QGIS - http://qgis.org/debian trusty main), j'ai compris comment appliquer les conseils de @EvilGenius: ldd ogrinfon'a pas montré libprojnon importe combien de fois j'ai utilisé sudo ldconfig, jusqu'à ce que je tape:

export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib

Depuis lors, la bibliothèque est lue normalement.

Pavel V.
la source
7

Essayer:

sudo apt-get install libproj-dev

Il a résolu la même erreur pour moi lors de l'utilisation de gdal_translate pour extraire des bandes d'une image hdf.

Sandino
la source
0

utilisez --with-static-proj lors de la compilation des bibliothèques gdal.

codeadict
la source
1
Il serait utile d'inclure une petite explication avec votre réponse
Midavalo