[Qgis-developer] GRASS Direct

John C. Tull jctull at gmail.com
Mon Dec 10 14:01:10 PST 2012


On Dec 10, 2012, at 1:32 PM, Radim Blazek <radim.blazek at gmail.com> wrote:

> On Mon, Dec 10, 2012 at 10:08 PM, Larry Shaffer <larrys at dakotacarto.com> wrote:
>> On Mon, Dec 10, 2012 at 1:53 PM, John C. Tull <jctull at gmail.com> wrote:
>>> I wanted to bring my comment I made elsewhere on my Mac testing into this, more appropriate thread:
>>> 
>>> I just tested one of the available modules on a local DEM file, and here is there error message that appeared when I ran it:
>>> 
>>> Cannot start module r.slope.aspect
>>> command: /usr/local/Cellar/grass/6.4.2/grass-6.4.2/bin/r.slope.aspect --interface-description
>>> 
>>> ERROR: GISRC - variable not set
>>> 
>>> Note that I am running a version of grass installed locally, not from the application that William makes available.
> 
>> Getting the same thing as John here, but with Kyngchaos.com GRASS.
>> When using the Kyngchaos.com GRASS, the app starts via an internal
>> shell script that configures most of those GRASS env variables [0].
> 
> What is the 'app' in this context? GRASS, QGIS or a single GRASS
> module? Which variables are set by the script?
> 
> As I wrote, there was missing DYLD_LIBRARY_PATH on Mac, please try
> also with current master.
> 
> Radim

The 'app' for Larry is GRASS-6.4.2.app, as packaged by William. My version is installed by a package installer called homebrew. Although not an application bundle, it also runs from a shell script rather than from a binary directly, i.e., :

> file /usr/local/bin/grass64                                                                                                            
/usr/local/bin/grass64: POSIX shell script text executable
> less /usr/local/bin/grass64    

#! /bin/sh
#############################################################################
#
# MODULE:       GRASS Initialization
# AUTHOR(S):    Justin Hickey - Thailand - jhickey at hpcc.nectec.or.th
# PURPOSE:      The source file for this shell script is in
#               lib/init/grass.src and is the grass startup script. It
#               requires a source file because the definition of GISBASE
#               is not known until compile time and is substituted from the
#               Makefile. Any command line options are passed to Init.sh.
# COPYRIGHT:    (C) 2000-2005 by the GRASS Development Team
#
#               This program is free software under the GNU General Public
#               License (>=v2). Read the file COPYING that comes with GRASS
#               for details.
#
#############################################################################

trap "echo 'User break!' ; exit" 2 3 9 15

# Set the GISBASE variable
GISBASE=/usr/local/Cellar/grass/6.4.2/grass-6.4.2
export GISBASE

exec "$GISBASE/etc/Init.sh" "$@"
/usr/local/bin/grass64 (END) 

Regarding the trunk fix, I now have a different compile error:

...
Scanning dependencies of target grassplugin
[ 81%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassplugin.cpp.o
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassplugin.cpp:930:20: warning: 'name' has C-linkage specified, but returns user-defined type 'QString' which is
      incompatible with C [-Wreturn-type-c-linkage]
QGISEXTERN QString name()
                   ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassplugin.cpp:936:20: warning: 'description' has C-linkage specified, but returns user-defined type 'QString'
      which is incompatible with C [-Wreturn-type-c-linkage]
QGISEXTERN QString description()
                   ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassplugin.cpp:942:20: warning: 'category' has C-linkage specified, but returns user-defined type 'QString' which
      is incompatible with C [-Wreturn-type-c-linkage]
QGISEXTERN QString category()
                   ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassplugin.cpp:954:20: warning: 'version' has C-linkage specified, but returns user-defined type 'QString' which
      is incompatible with C [-Wreturn-type-c-linkage]
QGISEXTERN QString version()
                   ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassplugin.cpp:959:20: warning: 'icon' has C-linkage specified, but returns user-defined type 'QString' which is
      incompatible with C [-Wreturn-type-c-linkage]
QGISEXTERN QString icon()
                   ^
5 warnings generated.
[ 81%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassselect.cpp.o
[ 81%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassbrowser.cpp.o
[ 81%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassedit.cpp.o
[ 81%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassedittools.cpp.o
[ 82%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrasstools.cpp.o
[ 82%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassmodel.cpp.o
[ 82%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassmapcalc.cpp.o
In file included from /Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmapcalc.cpp:16:
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmapcalc.h:67:10: warning: 'QgsGrassMapcalc::inputRegion' hides overloaded virtual function
      [-Woverloaded-virtual]
    bool inputRegion( struct Cell_head *window, bool all );
         ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmodule.h:253:18: note: hidden overloaded virtual function 'QgsGrassModuleOptions::inputRegion' declared here
    virtual bool inputRegion( struct Cell_head *window, QgsCoordinateReferenceSystem & crs, bool all )
                 ^
1 warning generated.
[ 82%] Building CXX object src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassmodule.cpp.o
In file included from /Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmodule.cpp:17:
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmapcalc.h:67:10: warning: 'QgsGrassMapcalc::inputRegion' hides overloaded virtual function
      [-Woverloaded-virtual]
    bool inputRegion( struct Cell_head *window, bool all );
         ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmodule.h:253:18: note: hidden overloaded virtual function 'QgsGrassModuleOptions::inputRegion' declared here
    virtual bool inputRegion( struct Cell_head *window, QgsCoordinateReferenceSystem & crs, bool all )
                 ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmodule.cpp:1641:15: error: expected value in expression
#elif Q_OS_MAC
              ^
/Users/jctull/sources/Quantum-GIS/src/plugins/grass/qgsgrassmodule.cpp:2006:15: error: expected value in expression
#elif Q_OS_MAC
              ^
1 warning and 2 errors generated.
make[2]: *** [src/plugins/grass/CMakeFiles/grassplugin.dir/qgsgrassmodule.cpp.o] Error 1
make[1]: *** [src/plugins/grass/CMakeFiles/grassplugin.dir/all] Error 2
make: *** [all] Error 2

Regards,
John


More information about the Qgis-developer mailing list