Grass-Algorithmen können in QGIS 2.18 unter Ubuntu 16.04 nicht ausgeführt werden

9

Ich habe QGIS und GRASS über die UbuntuGIS-Repositorys installiert. Wenn ich versuche, einen GRASS 6- oder 7-Algorithmus auszuführen, wird die folgende Fehlermeldung angezeigt:

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

Ich habe andere Fragen zu diesem Thema geprüft, die meisten befassen sich jedoch mit Setup auf Windows-Systemen:

Unter Linux muss ich den Pfad des GRASS-Ordners nicht konfigurieren, wie mir die QGIS-Hilfe zum Konfigurieren externer Anwendungen mitteilt. Gras läuft durch Tippen von der Schale ab grass. Die von der Shell aufgerufene Grass-Version ist GRASS 7.2.0 (2016).

Außerdem habe ich überprüft, ob GRASS 6 und 7 im Menü für zusätzliche Anbieter in der Toolbox von QGIS aktiviert ist.

Irgendwelche Vorschläge, was getan werden könnte, um dies zu beheben?

Bearbeiten

In der Zwischenzeit habe ich qgis python-qgis qgis-plugin-grassdie offiziellen QGIS-Repositorys vollständig deinstalliert und neu installiert ... aber der Fehler geht weiter.

Bearbeiten 2 Auschecken der Protokolle auf qgis im Bereich "Protokollmeldungen" Ich habe unter der Registerkarte "Plugins" festgestellt, dass das Gras-Plugin nicht richtig geladen wird:

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
quelle
Für Edit2: Es scheint, dass nach GRASS 7.0.3 gesucht wird, aber Sie haben nur 7.2.0 auf der Festplatte. Mischen Sie keine Ubuntugis- und Nicht-Ubuntugis-Pakete.
AndreJ
@AndreJ Ich denke, diese Verwechslung ist wahrscheinlich das Hauptproblem. Ich könnte Ubuntugis und QGIS-Repositories hinzugefügt haben. Ich habe versucht, nur die qgis-Repositorys hinzuzufügen und alle neu zu installieren. aber es hat dies noch nicht behoben. Jetzt bekomme ich keine Nachricht, dass das Plugin geladen ist, obwohl es installiert ist. Irgendwelche Vorschläge, wie ich das restliche Chaos beseitigen könnte?
Joaoal
1
Entweder GRASS auf 7.0.3 herabstufen oder die QGIS-Debian-Pakete entfernen (mit Bereinigung , siehe askubuntu.com/questions/187888/… ), zu Ubuntgis zurückkehren und die Problemumgehung in meiner Antwort befolgen.
AndreJ

Antworten:

9

Ich erhalte den gleichen Fehler mit der Ubuntugis-Version von QGIS und der GRASS-Version 7.2.0.

Es scheint, dass 7.2 bei der Verarbeitung noch nicht korrekt übernommen wurde. Es gibt bereits ein Ticket dafür: https://hub.qgis.org/issues/16019 und https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html

Um dieses Problem zu umgehen, können Sie die /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.pyZeile 251 bis (als Sudo) bearbeiten

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

und Zeile 103 von Grass7AlgorithmProvider.pybis

    return 'grass72'

Oder ein Downgrade vom Haupt-Ubuntu-Repo auf GRASS 7.0.3.

GRASS 6-Befehle funktionieren nicht mit GRASS 7, daher können Sie die 161 GRASSBefehle deaktivieren .


Nur eine weitere Problemumgehung aus der Mailingliste https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

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


AKTUALISIEREN

Wird auch mit http://hub.qgis.org/issues/16110 gemeldet und mit http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 behoben. Dies sollte für GRASS-Versionen 7.0 bis 7.3 funktionieren

Leider wurde das Update nicht auf QGIS 2.18.4 angewendet, sodass die Problemumgehungen weiterhin erforderlich sind.

AndreJ
quelle
okay. Die Problemumgehung hat bei mir nicht funktioniert. Ich habe es versucht, aber es ist fehlgeschlagen. Ein Downgrade über den Synaptics Package Manager auf Grass 7.0 hat jedoch den Trick getan. Wie kann ich sicherstellen, dass beim nächsten Software-Update kein Upgrade auf 7.2 durchgeführt wird? nochmal? Ich habe bereits QGIS- und Ubuntugis-Repositorys aus der Quellenliste entfernt, aber es scheint, dass die offiziellen Ubuntu-Repositorys bereits Gras 7.2 enthalten ... zumindest wenn ich das Software-Center öffne, bietet es mir 7.2.
Joaoal
1
Von packages.ubuntu.com/… sehe ich GRASS 7.2 nur für pikant. Möglicherweise ist im Softwarecenter noch der Ubuntugis-Eintrag aufgeführt. Versuchen Sie apt-cache policy grassin einem Terminalfenster zu sehen, was wirklich verfügbar ist.
AndreJ
Der Symlink hat bei mir nicht funktioniert. Ich bin auf Mint mit qgis, die aus dem Quellcode kompiliert und aus dem Ausgabeordner ausgeführt wurden. Muss ich auch andere Konfigurationen bearbeiten? Vielen Dank!
Matto
2
QGIS und Ubuntugis sind leider oft nicht synchron. Als ich diesmal sah, dass es ein Upgrade von GRASS gab, habe ich es nicht installiert. Fragen Sie sich nur, wie Sie herausfinden können, wann der richtige Zeitpunkt gekommen ist. Die offiziellen Kanäle scheinen dieses wirklich nervige Problem die meiste Zeit zu ignorieren. Es macht keinen Spaß, alle drei Monate ein kaputtes QGIS zu haben.
Bernd V.
@BerndV. Normalerweise installiere ich neue Linux-Versionen zuerst in einer virtuellen Box zum Testen.
AndreJ
4

Ich habe das Problem behoben, indem ich grass 7.0.3 aus dem qgis-Repository neu installiert habe. Das Gras von Ubuntugis Repo ist Version 7.2, die von QGIS nicht unterstützt wird.

  1. entferne das GRASS GIS von sudo apt-get entferne Gras Gras-Kern Gras-Doc Gras-GUI

  2. Deaktivieren Sie das Ubuntugis-instabile Repository

  3. sudo apt-get install grass grass-gui

Für mich geht das.

Yu-Hsuan
quelle