In my case, I have the same problem when compiling qgis with grass 7
preinstalled
El 11/03/15 a las 18:27, Donovan Cameron escribió:
Morning,
I'm attempting to compile the QGIS 2.8.1 grass plugin against GRASS
7.0.0 on Arch Linux 64bit.
I read somewhere (maybe GIS.se?) that the GRASS plugin in QGIS doesn't
have full functionality and a kickstarter/crowdfunding process could
be underway to get it up to par, but in the meantime it was also
mentioned it's still possible to use the toolbar to load grass 7
layers into the qgis canvas.
GDAL 1.11.2 is installed and so is gdal-grass plugin using some
patches to get GDAL working with grass 7.
I'm using the following cmake options in the QGIS build:
-DWITH_GRASS=ON
-DGRASS_PREFIX=/opt/grass
-DGRASS_INCLUDE_DIR=/opt/grass/include
But QGIS fails to build with the following error:
Scanning dependencies of target qgisgrass
[ 50%] Building CXX object
src/providers/grass/CMakeFiles/qgisgrass.dir/qgsgrass.cpp.o
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp: In static
member function ‘static void QgsGrass::setMapset(QString, QString,
QString)’:
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:383:51:
error: ‘G__setenv’ was not declared in this scope
G__setenv( GISDBASE, gisdbase.toUtf8().data() );
^
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:392:30:
error: ‘G_available_mapsets’ was not declared in this scope
ms = G_available_mapsets();
^
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp: In static
member function ‘static QString QgsGrass::openMapset(QString, QString,
QString)’:
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:611:46:
error: ‘G__setenv’ was not declared in this scope
G__setenv( GISRC, mGisrc.toUtf8().data() );
^
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp: In static
member function ‘static QString QgsGrass::closeMapset()’:
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:657:39:
error: ‘G__setenv’ was not declared in this scope
G__setenv( GISRC, ( char * ) );
^
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp: In static
member function ‘static bool QgsGrass::region(QString, QString,
QString, Cell_head*)’:
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:1082:83:
error: ‘G__get_window’ was not declared in this scope
G__get_window( window, ( char * ) , ( char * ) WIND,
mapset.toUtf8().data() );
^
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp: In static
member function ‘static bool QgsGrass::mapRegion(int, QString,
QString, QString, QString, Cell_head*)’:
/tmp/makepkg/qgis/src/qgis/src/providers/grass/qgsgrass.cpp:1268:94:
error: ‘G__get_window’ was not declared in this scope
G__get_window( window, ( char * ) windows, map.toUtf8().data(),
mapset.toUtf8().data() );
^
src/providers/grass/CMakeFiles/qgisgrass.dir/build.make:60: recipe for
target 'src/providers/grass/CMakeFiles/qgisgrass.dir/qgsgrass.cpp.o'
failed
make[2]: ***
[src/providers/grass/CMakeFiles/qgisgrass.dir/qgsgrass.cpp.o] Error 1
CMakeFiles/Makefile2:1251: recipe for target
'src/providers/grass/CMakeFiles/qgisgrass.dir/all' failed
make[1]: *** [src/providers/grass/CMakeFiles/qgisgrass.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2
So I'm not sure what the hiccup is exactly. GRASS 7 is installed and
runs fine outside of QGIS, but maybe it's missing some environment
variables (like GISRC or GISDBASE) that QGIS needs to compile against it?
Donovan
___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user
--
Firmas de correo.com : José Antonio Barreña Cayuela
José Antonio Barreña Cayuela
/Biólogo (botánico). Servicios Ambientales/
*+34 677 811 883* · jabar...@gmail.com mailto:jabar...@gmail.com
skype skype:jabarcay?call linkedIn
http://es.linkedin.com/pub/jos%C3%A9-antonio-barre%C3%B1a-cayuela/26/936/15a/
___
Qgis-user mailing list
Qgis-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/qgis-user