[R-sig-Geo] can't initiate Grass with initGRASS()

Roger Bivand Roger.Bivand at nhh.no
Sat Aug 28 11:41:09 CEST 2010


On Fri, 27 Aug 2010, William McCoy wrote:

> I am using spgrass6, but I can't seem to initiate a grass session.  I managed 
> to do this correctly months ago, but can't seem to now.  Here is my code and 
> sessionInfo:

Something has happened to your GRASS installation and/or the 
LD_LIBRARY_PATH environment variable. The GRASS binary modules are being 
found, but the libraries (shared objects) they call are not. Try to set 
debug(initGRASS), then step through looking at what is in environment 
variables, etc. After the if () for conditionally setting the PATH, look 
at:

Sys.getenv("PATH")
list.files(Sys.getenv("PATH"))

and similarly for LD_LIBRARY_PATH:

Sys.getenv("LD_LIBRARY_PATH")
list.files(Sys.getenv("LD_LIBRARY_PATH"))

I suspect that the test:

eLDPATH <- Sys.getenv("LD_LIBRARY_PATH")
grep(basename(Sys.getenv("GISBASE")), eLDPATH)

is not empty, so the LD_LIBRARY_PATH does not get edited to include the 
actual locations of the *.so files.

Have you changed the definitions of these environment variables in a 
.bashrc or similar between this working and no longer working? Before 
starting R, say:

echo $PATH
echo $LD_LIBRARY_PATH

to see if that sheds any light on things.

Hope this helps,

Roger


>
>> library(spgrass6)
> Loading required package: sp
> Loading required package: rgdal
> Geospatial Data Abstraction Library extensions to R successfully loaded
> Loaded GDAL runtime: GDAL 1.7.2, released 2010/04/23
> Path to GDAL shared files: /usr/local/share/gdal
> Loaded PROJ.4 runtime: Rel. 4.7.1, 23 September 2009
> Path to PROJ.4 shared files: (autodetected)
> Loading required package: XML
> GRASS GIS interface loaded with GRASS version: (GRASS not running)
>> loc <- initGRASS(gisBase = "/usr/local/grass-6.4.0svn/", home = tempdir())
> g.gisenv: symbol lookup error: g.gisenv: undefined symbol: G__no_gisinit
> g.gisenv: symbol lookup error: g.gisenv: undefined symbol: G__no_gisinit
> g.gisenv: symbol lookup error: g.gisenv: undefined symbol: G__no_gisinit
> g.gisenv: symbol lookup error: g.gisenv: undefined symbol: G__no_gisinit
> g.gisenv: symbol lookup error: g.gisenv: undefined symbol: G__no_gisinit
> g.region: symbol lookup error: g.region: undefined symbol: G__gisinit
> Error in if (file.exists(file) == FALSE) if (!missing(asText) && asText ==  :
>  argument is of length zero
> Error in parseGRASS(cmd) : g.region not parsed
>
>> sessionInfo()
> R version 2.11.1 (2010-05-31)
> i386-redhat-linux-gnu
>
> locale:
> [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
> [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
> [5] LC_MONETARY=C              LC_MESSAGES=en_US.UTF-8
> [7] LC_PAPER=en_US.UTF-8       LC_NAME=C
> [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> other attached packages:
> [1] spgrass6_0.6-19 XML_3.1-1       rgdal_0.6-28    sp_0.9-66
>
> loaded via a namespace (and not attached):
> [1] grid_2.11.1    lattice_0.18-8 tools_2.11.1
>
>
> Any ideas about what I am doing wrong?
>
> Thanks, Bill
>
>

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no



More information about the R-sig-Geo mailing list