9

I have QGIS and GRASS installed through the UbuntuGIS repositories. If I try to execute any GRASS 6 or 7 algorithm I get the following error message:

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

I checked other questions on this issue however most deal with Setup on Windows systems:

On linux I do not have to configure the path of the GRASS folder as the QGIS help on configuring external applications tells me. Grass runs from the shell by typing grass. The Grass-version called by the shell is GRASS 7.2.0 (2016).

Furthermore i checked that GRASS 6 and 7 is activated in the additional providers menu in the toolbox of QGIS.

Any suggestion what could be done to fix this?

Edit

Meanwhile I completly uninstalled and reinstalled qgis python-qgis qgis-plugin-grass from the oficial QGIS repositories...but the error continues.

Edit 2 Checking out the logs for qgis in the Log Messages Panel I found out under the "plugins" tab that the grass plugin does not load properly:

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))
  • For Edit2: It seems that GRASS 7.0.3 is searched for, but you only have 7.2.0 on disk. Don't mix Ubuntugis and non-ubuntugis packages. – AndreJ Jan 23 '17 at 14:05
  • @AndreJ I think this mixup is probably the main problem. I might have added ubuntugis and qgis repositories. I tried to add only the qgis repositories and reinstall all. but it did not fix this yet. now i do not get any message that the plugin is loaded although it is installed. any suggestion on how I could clean up any remaining mess? – joaoal Jan 23 '17 at 14:10
  • 1
    Either downgrade GRASS to 7.0.3, or remove the QGIS debian packages (with purge, see askubuntu.com/questions/187888/… ), return to ubuntgis and follow the workaround in my answer. – AndreJ Jan 23 '17 at 14:14
9

I get the same error with the Ubuntugis version of QGIS and GRASS version 7.2.0.

It seems that 7.2 is not yet correctly adopted in processing. There is already a ticket for it: https://hub.qgis.org/issues/16019 and https://lists.osgeo.org/pipermail/qgis-developer/2017-January/046671.html

As a workaround, you may edit (as sudo) /usr/share/qgis/python/plugins/processing/algs/grass7/Grass7Utils.py line 251 to

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

and line 103 of Grass7AlgorithmProvider.py to

    return 'grass72'

Or downgrade to GRASS 7.0.3 from the main Ubuntu repo.

GRASS 6 commands will not work with GRASS 7, so you can deactivate the 161 GRASS commands.


Just another workaround from the mailing list https://lists.osgeo.org/pipermail/qgis-user/2017-January/038907.html

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


UPDATE

Also reported with http://hub.qgis.org/issues/16110 and fixed with http://hub.qgis.org/projects/quantum-gis/repository/revisions/099e7a77f2c32f469539f542a31df7b0d4b77dd3 That should work for GRASS versions 7.0 up to 7.3

Unfortunately, the fix has not been applied to QGIS 2.18.4, so the workarounds are still necessary.

  • okay. the workaround did not work for me. i tried but it failed. However downgrading through synaptics package manager to grass 7.0 did the trick. how can I assure that with the next software update it does not upgrade to 7.2. again? I already removed qgis and ubuntugis repositories from the sources list however it seems that the oficial ubuntu repositories already contain grass 7.2...at least if i open the software center it offers me 7.2. – joaoal Jan 23 '17 at 14:43
  • 1
    From packages.ubuntu.com/… I see GRASS 7.2 only for zesty. Maybe the software center still has the ubuntugis entry listed. Try apt-cache policy grass in a Terminal window to see what is really available. – AndreJ Jan 23 '17 at 16:32
  • the symlink did not work for me.. I am on Mint with qgis compiled from source and run from the output folder. Do I have also other configurations to edit? Thanks! – matteo Jan 24 '17 at 13:54
  • 2
    QGIS and ubuntugis unfortunately are often out of sync. So this time when I saw that there was an upgrade of GRASS, I did not install it. Just wonder how to find out when the right time has come. The official channels seem to ignore this really annoying problem most of the time. It's not fun having a broken QGIS every three months or so. – Bernd V. Jan 24 '17 at 16:28
  • @BerndV. I usually install new Linux versions first in a virtual box for testing. – AndreJ Jan 24 '17 at 16:57
4

I fixed the problem by reinstalling grass 7.0.3 from the qgis repository. The grass from Ubuntugis repo is version 7.2, which is not support by QGIS.

  1. remove the GRASS GIS by sudo apt-get remove grass grass-core grass-doc grass-gui

  2. disable ubuntugis-unstable repository

  3. sudo apt-get install grass grass-gui

It works for me.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.