No se pueden ejecutar algoritmos Grass en QGIS 2.18 en Ubuntu 16.04

9

Tengo QGIS y GRASS instalados a través de los repositorios UbuntuGIS. Si intento ejecutar algún algoritmo GRASS 6 o 7, aparece el siguiente mensaje de error:

"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."

Verifiqué otras preguntas sobre este problema, sin embargo, la mayoría trata sobre la instalación en sistemas Windows:

En Linux no tengo que configurar la ruta de la carpeta GRASS como me dice la ayuda de QGIS para configurar aplicaciones externas. La hierba corre desde el caparazón escribiendo grass. La versión Grass llamada por el shell es GRASS 7.2.0 (2016).

Además, verifiqué que GRASS 6 y 7 está activado en el menú de proveedores adicionales en la caja de herramientas de QGIS.

¿Alguna sugerencia de qué podría hacerse para solucionar esto?

Editar

Mientras tanto, desinstalé y reinstalé completamente qgis python-qgis qgis-plugin-grasslos repositorios oficiales de QGIS ... pero el error continúa.

Editar 2 Revisando los registros de qgis en el Panel de mensajes de registro descubrí en la pestaña "complementos" que el complemento de césped no se carga correctamente:

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
fuente
Para Edit2: Parece que se busca GRASS 7.0.3, pero solo tiene 7.2.0 en el disco. No mezcle paquetes Ubuntugis y no ubuntugis.
AndreJ
@AndreJ Creo que esta confusión es probablemente el principal problema. Podría haber agregado ubuntugis y repositorios qgis. Intenté agregar solo los repositorios qgis y reinstalar todo. pero aún no solucionó esto. ahora no recibo ningún mensaje de que el complemento está cargado aunque esté instalado. ¿Alguna sugerencia sobre cómo podría limpiar cualquier desorden restante?
joaoal
1
Puede degradar GRASS a 7.0.3 o eliminar los paquetes de Debian de QGIS (con purga, consulte askubuntu.com/questions/187888/… ), regrese a ubuntgis y siga la solución en mi respuesta.
AndreJ

Respuestas:

9

Me sale el mismo error con la versión de Ubuntugis de QGIS y GRASS versión 7.2.0.

Parece que 7.2 aún no se ha adoptado correctamente en el procesamiento. Ya hay un boleto para ello: https://hub.qgis.org/issues/16019 y https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html

Como solución alternativa, puede editar (como sudo) la /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pylínea 251 para

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

y la línea 103 de Grass7AlgorithmProvider.pya

    return 'grass72'

O rebaja a GRASS 7.0.3 desde el repositorio principal de Ubuntu.

Los comandos de GRASS 6 no funcionarán con GRASS 7, por lo que puede desactivar los 161 GRASScomandos.


Solo otra solución alternativa de la lista de correo https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

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


ACTUALIZAR

También se informa con http://hub.qgis.org/issues/16110 y se corrige con http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 Eso debería funcionar para las versiones de GRASS 7.0 hasta 7.3

Desafortunadamente, la solución no se ha aplicado a QGIS 2.18.4, por lo que las soluciones alternativas aún son necesarias.

AndreJ
fuente
bueno. la solución no funcionó para mí. Lo intenté pero falló. Sin embargo, la degradación a través del administrador de paquetes synaptics a grass 7.0 hizo el truco. ¿Cómo puedo asegurar que con la próxima actualización de software no se actualice a 7.2? ¿de nuevo? Ya eliminé los repositorios qgis y ubuntugis de la lista de fuentes, sin embargo, parece que los repositorios oficiales de ubuntu ya contienen grass 7.2 ... al menos si abro el centro de software, me ofrece 7.2.
joaoal
1
De packages.ubuntu.com/… veo GRASS 7.2 solo por buen gusto. Tal vez el centro de software todavía tiene la entrada ubuntugis en la lista. Pruebe apt-cache policy grassen una ventana de Terminal para ver qué hay realmente disponible.
AndreJ
el enlace simbólico no funcionó para mí. Estoy en Mint con qgis compilado desde la fuente y ejecuto desde la carpeta de salida. ¿Tengo también otras configuraciones para editar? ¡Gracias!
matteo
2
Lamentablemente, QGIS y ubuntugis a menudo no están sincronizados. Esta vez, cuando vi que había una actualización de GRASS, no la instalé. Solo pregúntate cómo saber cuándo ha llegado el momento adecuado. Los canales oficiales parecen ignorar este problema realmente molesto la mayor parte del tiempo. No es divertido tener un QGIS roto cada tres meses más o menos.
Bernd V.
@BerndV. Normalmente instalo nuevas versiones de Linux primero en una caja virtual para realizar pruebas.
AndreJ
4

Solucioné el problema reinstalando grass 7.0.3 desde el repositorio qgis. La hierba del repositorio de Ubuntugis es la versión 7.2, que no es compatible con QGIS.

  1. eliminar el GRASS GIS por sudo apt-get eliminar grass grass-core grass-doc grass-gui

  2. deshabilitar el repositorio ubuntugis-inestable

  3. sudo apt-get install grass grass-gui

Esto funciona para mi.

Yu-Hsuan
fuente