Não é possível executar os algoritmos Grass no QGIS 2.18 no Ubuntu 16.04

9

Eu tenho o QGIS e o GRASS instalados nos repositórios UbuntuGIS. Se eu tentar executar qualquer algoritmo GRASS 6 ou 7, recebo a seguinte mensagem de erro:

"This algorithm cannot be run :-( It seems that GRASS GIS 7 is not correctly installed and configured in your system. Please install it before running GRASS GIS 7 algorithms."

Eu verifiquei outras perguntas sobre esse problema, no entanto, a maioria trata da instalação nos sistemas Windows:

No linux, não preciso configurar o caminho da pasta GRASS, como a ajuda do QGIS na configuração de aplicativos externos me diz. A grama sai da casca digitando-a grass. A versão Grass chamada pelo shell é GRASS 7.2.0 (2016).

Além disso, verifiquei se o GRASS 6 e 7 está ativado no menu de provedores adicionais na caixa de ferramentas do QGIS.

Alguma sugestão do que poderia ser feito para corrigir isso?

Editar

Enquanto isso, eu desinstalei e reinstalei completamente qgis python-qgis qgis-plugin-grassdos repositórios oficiais do QGIS ... mas o erro continua.

Editar 2 Verificando os logs para qgis no painel de mensagens de log que descobri na guia "plugins" que o plug-in grass não carrega corretamente:

2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassplugin7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassplugin7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
2017-01-23T14:10:22 1   Failed to load /usr/lib/qgis/plugins/libgrassrasterprovider7.so (Reason: Cannot load library /usr/lib/qgis/plugins/libgrassrasterprovider7.so: (libgrass_gis.7.0.3.so: cannot open shared object file: No such file or directory))
joaoal
fonte
Para Edit2: Parece que o GRASS 7.0.3 foi pesquisado, mas você só possui 7.2.0 em disco. Não misture pacotes Ubuntugis e não-ubuntugis.
precisa saber é
@ AndreJ Eu acho que essa confusão é provavelmente o principal problema. Eu poderia ter adicionado os repositórios ubuntugis e qgis. Tentei adicionar apenas os repositórios qgis e reinstalar todos. mas isso ainda não foi corrigido. agora não recebo nenhuma mensagem informando que o plug-in está carregado, embora esteja instalado. alguma sugestão sobre como eu poderia limpar qualquer bagunça restante?
Joaoal
11
Faça o downgrade do GRASS para 7.0.3 ou remova os pacotes debian do QGIS (com remoção, consulte askubuntu.com/questions/187888/… ), retorne ao ubuntgis e siga a solução alternativa na minha resposta.
precisa saber é

Respostas:

9

Eu recebo o mesmo erro com a versão Ubuntugis do QGIS e GRASS versão 7.2.0.

Parece que o 7.2 ainda não foi adotado corretamente no processamento. Já existe um ticket: https://hub.qgis.org/issues/16019 e https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html

Como solução alternativa, você pode editar (como sudo) a /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pylinha 251 para

            command = 'grass72 ' + Grass7Utils.grassMapsetFolder() \

e linha 103 de Grass7AlgorithmProvider.pypara

    return 'grass72'

Ou faça o downgrade para o GRASS 7.0.3 no repositório principal do Ubuntu.

Os comandos do GRASS 6 não funcionarão com o GRASS 7, portanto você pode desativar os 161 GRASScomandos.


Apenas outra solução alternativa da lista de discussão https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

sudo ln -s /usr/bin/grass72 /usr/bin/grass70


ATUALIZAR

Também relatado em http://hub.qgis.org/issues/16110 e corrigido em http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 Isso deve funcionar para as versões GRASS 7.0 até 7.3

Infelizmente, a correção não foi aplicada ao QGIS 2.18.4, portanto, as soluções alternativas ainda são necessárias.

AndreJ
fonte
OK. a solução alternativa não funcionou para mim. Eu tentei, mas falhou. No entanto, fazer o downgrade através do gerenciador de pacotes synaptics para o grass 7.0 fez o truque. como posso garantir que, com a próxima atualização de software, ela não seja atualizada para 7.2. novamente? Eu já removi os repositórios qgis e ubuntugis da lista de fontes, no entanto, parece que os repositórios oficiais do ubuntu já contêm grama 7.2 ... ... pelo menos se eu abrir o centro de software que ele me oferece 7.2.
Joaoal
11
No packages.ubuntu.com/… , vejo o GRASS 7.2 apenas para entusiasmo. Talvez o centro de software ainda tenha a entrada ubuntugis listada. Experimente apt-cache policy grassem uma janela do Terminal para ver o que realmente está disponível.
precisa saber é
o link simbólico não funcionou para mim .. Estou no Mint com qgis compilado a partir da fonte e executado a partir da pasta de saída. Também tenho outras configurações para editar? Obrigado!
22817 matteo
2
Infelizmente, QGIS e ubuntugis geralmente estão fora de sincronia. Portanto, desta vez, quando vi que havia uma atualização do GRASS, não a instalei. Basta saber como descobrir quando chegou a hora certa. Os canais oficiais parecem ignorar esse problema realmente irritante na maioria das vezes. Não é divertido ter um QGIS quebrado a cada três meses ou mais.
Bernd V.
@BerndV. Normalmente, instalo novas versões do Linux primeiro em uma caixa virtual para teste.
precisa saber é
4

Corrigi o problema reinstalando o grass 7.0.3 do repositório qgis. A grama do repositório Ubuntugis é a versão 7.2, que não é suportada pelo QGIS.

  1. remover o GRASS GIS por sudo apt-get remover grama grass-core grass-doc grass-gui

  2. desativar repositório ubuntugis-instável

  3. sudo apt-get install grama grass-gui

Funciona para mim.

Yu-Hsuan
fonte