Reparando GDAL e PROJ.4 quebrados no Ubuntu?

13

Eu resolvi o problema da biblioteca, mas outros permanecem, apenas vagamente relacionados ao da biblioteca PROJ.4 não carregada. Fiz uma pergunta de acompanhamento para eles.

Meu pacote GDAL e a biblioteca PROJ.4 estão danificados, o que causa erros ao tentar reprojetar arquivos (veja a pergunta antiga abaixo). Não sei se esse problema começou enquanto eu instalei por engano outra instância do GDAL ou antes; no entanto, eu o desinstalei e reinstalei o QGIS, e o problema permanece.

Após cada reinstalação, o QGIS possui os mesmos plug-ins de antes, portanto a parte que causou os erros é deixada intocada pelo processo de instalação / desinstalação.

O que eu tentei:

  • sudo apt-get remove build-essential python-all-deve sudo apt-get remove gdal-binlimpar o GDAL instalado manualmente
  • (des) instalação do QGIS com o Ubuntu Software Center
  • sudo apt-get --purge autoremove
  • dpkg -l | grep '^rc' | awk '{print $2}' | sudo xargs dpkg --purgee dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purgepara limpar os arquivos de configuração

Ainda sem sorte. Encontrei algo que parecia relacionado , mas isso é para o Windows, não para o meu Ubuntu 14.04. O que mais (e como) devo limpar antes da próxima instalação do QGIS?


A pergunta original:

Eu tento reprojetar alguns shapefiles com ogr2ogr. No entanto, eu sempre recebo o seguinte erro:

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.

Testei isso com várias transformações, incluindo combinações básicas como WGS84 (EPSG: 4326) em UTM (EPSG: 3857), e esse erro ocorre o tempo todo.

O problema pode ser causado pelo fato de que, embora eu tenha o GDAL com o meu QGIS (2.10), eu o instalei por engano mais uma vez (da fonte, fazendo o que esta resposta sugeria).

Depois de enfrentar esse problema algumas vezes, tentei desinstalar a nova instância GDAL ( sudo apt-get remove build-essential python-all-deve sudo apt-get remove gdal-bin- não tenho certeza se ela foi removida ou não).

Em /USR/LIB/eu tenho libproj.so.0e libproj.so.0.7.0, não libproj.so. Não consigo vê-lo mesmo com os arquivos ocultos mostrados. No entanto, quando tento ln -s libproj.so.0.7.0 libproj.so(ou o mesmo com sudo), ele reclama que libproj.sojá existe.

Pavel V.
fonte
Pode ajudar a remover e reinstalar o qgis também.
Andrej
@ AndreJ: reinstalado e nada mudou. No entanto, os arquivos associados parecem intocados (eu tenho os mesmos plug-ins que antes da reinstalação do QGIS etc.), então tentarei removê-lo completamente agora.
Pavel V.
Eu acho que você deve editar o título e as tags. Seu problema é um problema de instalação e você pode querer perguntar como corrigir uma instalação quebrada.
user30184
@ user30184: editado, como você sugeriu.
Pavel V.
2
Essa mensagem de erro parece indicar que a libproj não está sendo carregada. Embora os pacotes já devam ter feito isso, você já executou sudo ldconfig? Além disso, a saída de ldd ogrinfo(você pode precisar fornecer o caminho completo para ogrinfo) mostra libproj.so e está no diretório que você esperava (/ usr / lib)?
Evil Genius

Respostas:

12

Em /gis/158457/gdal2tiles-how-to-make-filenames-of-tiles-to-represent-xyz-coordinates , alguém menciona o seguinte:

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

O que absolutamente corrigiu o mesmo erro (ERRO 6: Não foi possível carregar a biblioteca PROJ.4 (libproj.so)) para mim.


Na arquitetura x86_64, você pode precisar usar esta variação:

sudo ln -s /usr/lib64/libproj.so.0 /usr/lib/libproj.so
Akhorus
fonte
1
Isso resolveu o problema para mim, e eu estava tentando encontrar o nome do arquivo no erro, enquanto chamava libproj.so.0
ekerner
1
Eu precisava vincular ambos libproje gdale com números diferentes - ou seja, ln -s /usr/lib/libproj.so.15 /usr/lib/libproj.so; ln -s /usr/lib/libgdal.so.20 /usr/lib/libgdal.somas trabalhando para mim agora, obrigado pela orientação!
anotherdave
8

Depois de várias maneiras erradas, incluindo a reinstalação múltipla do libproj0pacote e até a instalação do QGIS a partir de fontes diferentes do padrão do Ubuntu Software Center (acho que é do repositório oficial do QGIS - http://qgis.org/debian trusty main), eu entendi como aplicar o conselho do @EvilGenius: ldd ogrinfonão mostrou libprojnenhum importa quantas vezes eu usei sudo ldconfigaté digitar:

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

Desde então, a biblioteca é lida normalmente.

Pavel V.
fonte
7

Experimentar:

sudo apt-get install libproj-dev

Ele resolveu o mesmo erro para mim ao usar o gdal_translate para extrair bandas de uma imagem hdf.

Sandino
fonte
0

use --with-static-proj ao compilar bibliotecas gdal.

codeadict
fonte
1
Seria útil incluir um pouco de explicação junto com a sua resposta
Midavalo