Opened 2 years ago

Last modified 2 years ago

#734 closed defect

GISBASE Environment not set — at Initial Version

Reported by: aharfoot Owned by: osgeo4w-dev@…
Priority: minor Component: Installer
Version: Keywords:
Cc:

Description

When I install QGIS LTR 3.22.4 using the package based installer (individual packages, not the meta-package) along with GRASS 7.8 and run the C:\OSGeo4W\bin\qgis-ltr-bin.exe, the GRASS processing provider is broken, and trying to run any GRASS processing tool gives the following error:

This algorithm cannot be run :-( The specified GRASS 7 folder "C:\OSGeo4W\bin\bin" does not contain a valid set of GRASS 7 modules. Please, go to the Processing settings dialog, and check that the GRASS 7 folder is correctly configured

The same behaviour is not seen with the standalone QGIS installer.

From #47163 I can see that this message is returned by Grass7Utils.py, and after some exploration I discovered that this is because the GISBASE environment variable is not set.

If QGIS is launched via the batch file: C:\OSGeo4W\bin\qgis-ltr.bat, then GISBASE is correctly set and the GRASS processing tool function correctly.

The OSGeo4W package based installer creates a Windows shortcut that points to the C:\OSGeo4W\bin\qgis-ltr-bin.exe, and therefore when this is run, the bug exhibits itself.

Steps to reproduce the issue

With the OSGeo4W package installer, install QGIS LTR 3.22.4 along with GRASS 7.8 (7.8.7-1) on MS Windows. Load QGIS via the Start Menu shortcut. In QGIS, open the Processing panel and double click on a tool from the GRASS provider.

Check the status of the GISBASE environment variable through the QGIS python console by executing:

os.environ['GISBASE']

Environment:

QGIS: 3.22.4 GRASS: 7.8.7-1 OS: Windows 10 64bit

Change History (0)

Note: See TracTickets for help on using tickets.