[GRASS-stats] readRAST6 and readVECT6 errors with grass70

Roger Bivand Roger.Bivand at nhh.no
Thu Mar 15 16:12:39 EDT 2012


On Thu, 15 Mar 2012, Eric Momsen wrote:

> Success!  Thank you!!
>
> I tried last weekend to remove the gdal-grass plug in and to sort out
> the gdal reinstallation, I found at least 3 versions of gdal from
> debian repositories and from source on our server.  I was not able to
> get gdal to compile with grass, so this week we set up a new virtual
> machine to start over with a clean install and without multiple
> versions of grass and gdal.
>
> I installed gdal (w/o grass) then grass (w/ gdal).  I successfully
> configuring gdal w/ grass.  But the make failed.  I went ahead with
> testing in R/spgrass6 just to see what would happen... and it worked
> for loading both vector and rasters from grass into R.  I don't have
> the gdal-grass plugin OR gdal installed w/ grass support.  The check
> of spgrass6 worked (except for the documentation.)
>
> Should I be concerned that some other features won't work later on?
>
> Since it is running, I don't know if it is worth the time to track
> down the make error, or if a different place would be better to start
> a new discussion.  But just in case, here is the configure results and
> make error  http://pastebin.com/34kgysxz

My unequivocal advice is alway to avoid the GRASS plugins in GDAL. Any 
changes in the system, or multiple installs, alway lead to chaos. There is 
also no guarantee that the plugin will stay synchronised with GRASS7, so 
there anyone using it is asking for trouble IMHO (unless they are the 
developer actually maintaining the (vector) plugin. It might be nice to 
ask GDAL to install the raster and vector plugins as two configure 
options.

>
> It seems there is are many different (sometimes conflicting)
> procedures for installing gdal/grass/spgrass6.  For example
> http://trac.osgeo.org/gdal/wiki/GRASS recommends the plug in.
>

The person proffering the advice doesn't have to clrear up afterwards.

> a.  Is my confusion due to my lack of experience with unix/open
> source/Debian/etc
> or
> b.  Could/should I help update any of this documentation and/or post
> the installation procedure I followed somewhere?
>

I think you've done very creditably given the level of difficulty.

Best wishes,

Roger

> Regards,
> Eric
>
>
> On Sat, Mar 10, 2012 at 9:33 AM, Roger Bivand <Roger.Bivand at nhh.no> wrote:
>> On Fri, 9 Mar 2012, Eric Momsen wrote:
>>
>>> Roger,
>>>
>>> Thanks for your help and guidance.  I have tried to sort out the
>>> dependencies and get the gdal-grass plugin to look at grass7.  I can't
>>> get it to configure, details in line with your previous email.
>>>
>>> This is the plugin I have downloaded:
>>> http://download.osgeo.org/gdal/
>>> "Get the GDAL/OGR-GRASS plugin - file: gdal-grass-1.4.3.tar.gz (or later)"
>>>
>>> I've seen this closed ticket about the plugin not working with grass7
>>> ( http://trac.osgeo.org/gdal/ticket/2953  ) but it sounds like you
>>> don't have any problems with it.  So I assume it should work.   I was
>>> able to get this same plugin to configure against grass 6.4.
>>
>>
>> I never use the plugin at all, I only install and uninstall to check that it
>> works for GRASS 6. It causes a great deal of trouble for Debian/Ubuntu users
>> installing binary GDAL. I advise against its use unless the user builds it
>> for a specific GRASS version. The separate gdal-grass plugin is deprecated -
>> one adds the path to the GRASS installation in ./configure to GDAL when
>> installing from source. The problem is the round tour:
>>
>> install GDAL without the GRASS plugin,
>> install GRASS linking against that GDAL,
>> re-install GDAL with the path to GRASS given in ./configure.
>>
>> However, any GDAL or GRASS upgrade will break the plugin.
>>
>> Try to get rid of the plugin altogether, and try again, please. It may live
>> under /usr/local somewhere.
>>
>> Roger
>>
>>
>>>
>>> I am trying to configure it directly from what was downloaded, without
>>> any patches.
>>>
>>> Am I using the right plug in?
>>> Are there some extra/different steps for grass7?
>>> I assume I need this plugin to use spgrass6 (and v.krige from in
>>> grass), or is there something else I should try?
>>>
>>> It feels like I'm missing just one key point to get everything to work
>>> beautifully!
>>>
>>> Regards,
>>> Eric
>>>
>>>
>>> On Thu, Mar 8, 2012 at 1:39 PM, Roger Bivand <Roger.Bivand at nhh.no> wrote:
>>>>
>>>> Eric,
>>>>
>>>> The check of spgrass6 gets through readRAST6() with two rasters, which
>>>> sets
>>>> plugin=FALSE (twice, once not using GDAL, once using GDAL). It fails
>>>> either
>>>> in readRAST6(elevation.dem", plugin=TRUE, mapset="PERMANENT") if "GRASS"
>>>> %in% gdalDrivers()$name or at writeRAST6(spear, "sqdemSP", zcol="sqdem").
>>>>
>>>> My prejudice is to suspect the plugin. Can you do:
>>>>
>>>> library(rgdal)
>>>> "GRASS" %in% gdalDrivers()$name
>>>> "GRASS" %in% ogrDrivers()$name
>>>>
>>>
>>> Both were TRUE.
>>>
>>>> If they are TRUE, then the smoking gun is some dependency mixup in the
>>>> GDAL
>>>> GRASS plugin drivers, possibly pointing to a stale plugin, a stale GRASS
>>>> version linked to GRASS, or something like that. Managing plugins across
>>>> multiple versions of GRASS and/or GDAL is for very off-piste people who
>>>> like
>>>> excitement, I'm afraid.
>>>
>>>
>>> The plug in wasn't even something I was aware of (The system admin had
>>> installed grass 6.4, I was adding grass 7.0 later when the admin was
>>> busy.)  My understanding is that for the GDAL-GRASS plug in he had
>>> used a Debian package, and based on your comments now, it makes sense
>>> that this is tied to GRASS 6.4 when it was first installed.
>>>
>>> I didn't review the GDAL installation procedure, since it was already
>>> installed.  !  Seems that was a mistake.  I downloaded the source code
>>> for the plug in and attempted to compile it.  I had added grass to the
>>> .conf , which didn't work, then tried LD_LIBRARY_PATH to go directly
>>> to my new grass installation, and still it doesn't seem to find the
>>> libraries:
>>>
>>> root at gisdev:/opt/gdal-grass-1.4.3# ./configure
>>> --with-gdal=/usr/local/bin/gdal-config
>>> --with-grass=/usr/local/grass-7.0.svn
>>> checking for gcc... gcc
>>> checking for C compiler default output file name... a.out
>>> checking whether the C compiler works... yes
>>> checking whether we are cross compiling... no
>>> checking for suffix of executables...
>>> checking for suffix of object files... o
>>> checking whether we are using the GNU C compiler... yes
>>> checking whether gcc accepts -g... yes
>>> checking for gcc option to accept ANSI C... none needed
>>> checking for g++... g++
>>> checking whether we are using the GNU C++ compiler... yes
>>> checking whether g++ accepts -g... yes
>>> checking for ranlib... ranlib
>>> checking for g++ -shared ... yes
>>> user supplied gdal-config (/usr/local/bin/gdal-config)
>>> using /usr/local/lib/gdalplugins as GDAL shared library autoload directory
>>> checking for G_asprintf in -lgrass_gis... no
>>> configure: error: --with-grass=/usr/local/grass-7.0.svn requested, but
>>> libraries not found!  Perhaps you need to set LD_LIBRARY_PATH to
>>> include /usr/local/grass-7.0.svn/lib?
>>>
>>> double checking to answer the output's question:
>>> root at gisdev:/opt/gdal-grass-1.4.3# $LD_LIBRARY_PATH
>>> bash: /usr/local/grass-7.0.svn/lib: Is a directory
>>>
>>> I tried this:
>>> ./configure --with-gdal=/usr/local/bin/gdal-config
>>> --with-grass=/usr/local/grass-6.4.3svn/
>>> and it configured successfully (without any changes to LD_LIBRARY_PATH
>>> or the .conf files).
>>>
>>>>
>>>> The rgdal check suggests that the standard GDAL and OGR drivers work when
>>>> GRASS is not in the picture.
>>>>
>>>> Roger
>>>>
>>>>
>>>> On Thu, 8 Mar 2012, Eric Momsen wrote:
>>>>
>>>>> On Thu, Mar 8, 2012 at 4:42 AM, Roger Bivand <Roger.Bivand at nhh.no>
>>>>> wrote:
>>>>>>
>>>>>>
>>>>>> I've committed changes to spgrass6 on R-forge, project rspatial as
>>>>>> revision
>>>>>> 1224, which address the r.info flag issue, and another issue related to
>>>>>> my
>>>>>> using GDAL 1.9.0, which is less forgiving about overwriting vector
>>>>>> files
>>>>>> in
>>>>>> the temporary directory (but not the cause of your vector problem). I
>>>>>> always
>>>>>> compile GDAL, GEOS, etc. from source, and do not see any issues with
>>>>>> spearfish vector files converted to GRASS 7 (but had to enable sqlite
>>>>>> in
>>>>>> GRASS to avoid problems). I am always sceptical about Linux binary
>>>>>> builds,
>>>>>> and cannot replicate this issue (but which may mean that rgdal is
>>>>>> broken
>>>>>> in
>>>>>> some odd way if it was also installed using binary dependencies). Can
>>>>>> you
>>>>>> run:
>>>>>>
>>>>>> wget http://cran.r-project.org/src/contrib/rgdal_0.7-8.tar.gz
>>>>>> R CMD check rgdal_0.7-8.tar.gz
>>>>>>
>>>>>> to test the package on your platform?
>>>>>
>>>>>
>>>>>
>>>>> It seemed OK, ( http://pastebin.com/gykPF4EX ), the only problems were
>>>>> with the manual:
>>>>>
>>>>> * checking PDF version of manual ... WARNING
>>>>> LaTeX errors when creating PDF version.
>>>>> This typically indicates Rd problems.
>>>>> * checking PDF version of manual without hyperrefs or index ... ERROR
>>>>> Re-running with no redirection of stdout/stderr.
>>>>> Hmm ... looks like a package
>>>>> Error in texi2dvi("Rd2.tex", pdf = (out_ext == "pdf"), quiet = FALSE,  :
>>>>>  pdflatex is not available
>>>>> Error in running tools::texi2dvi
>>>>> You may want to clean up by 'rm -rf /tmp/RtmpqvwW8e/Rd2pdf69b337d4f332'
>>>>>
>>>>>>
>>>>>> If you check out rspatial, you will be able to do R CMD check on
>>>>>> spgrass6
>>>>>> too in its current development revision:
>>>>>>
>>>>>> svn checkout svn://scm.r-forge.r-project.org/svnroot/rspatial/
>>>>>> cd rspatial/pkg
>>>>>> (start GRASS7 in spearfish)
>>>>>> R CMD check spgrass6
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> full output at:  http://pastebin.com/n6a7SGXh
>>>>>
>>>>> Everything was OK until:
>>>>>
>>>>> * checking examples ... ERROR
>>>>> Running examples in ‘spgrass6-Ex.R’ failed
>>>>> The error most likely occurred in:
>>>>>
>>>>>> ### Name: readRAST6
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> I did not (yet) move anything or install as packages in R, just ran R
>>>>> CMD where the downloaded file was at.
>>>>>
>>>>> Thanks for your help so far, any suggestion for what to try next?
>>>>>
>>>>> Eric
>>>>>
>>>>>>
>>>>>> Roger
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Tue, 6 Mar 2012, Eric Momsen wrote:
>>>>>>
>>>>>>> Thank you for the quick response!  I've added follow up after the
>>>>>>> points
>>>>>>> below.
>>>>>>>
>>>>>>> On Tue, Mar 6, 2012 at 2:25 PM, Roger Bivand <Roger.Bivand at nhh.no>
>>>>>>> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Tue, 6 Mar 2012, Eric Momsen wrote:
>>>>>>>>
>>>>>>>>> Hello!
>>>>>>>>>
>>>>>>>>> I have been trying to get spgrass6 working in a Debian environment,
>>>>>>>>> and have started from scratch with both GRASS 6.4.3 and GRASS 7.0.
>>>>>>>>>  I
>>>>>>>>> previously had the same errors in "old" installations of both 6 and
>>>>>>>>> 7,
>>>>>>>>> after following the advice in the listserve archive I am half way
>>>>>>>>> there.  Since the behavior had been the same for both, I was
>>>>>>>>> suprised
>>>>>>>>> it didn't resolve the issue completely!  Any suggestions would be
>>>>>>>>> appreciated.
>>>>>>>>>
>>>>>>>>> I hope it is OK to include all 3 questions here, since they all
>>>>>>>>> relate
>>>>>>>>> to spgrass6.  Here is a listing of sessionInfo and various Debian
>>>>>>>>> package versions:  http://pastebin.com/68XST1vK
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> My installation of spgrass6 is working now with GRASS 6.4.3, I can
>>>>>>>>> read and write vectors and rasters.
>>>>>>>>>
>>>>>>>>> 1.  I am getting one warning message, is this OK, or am I missing
>>>>>>>>> some
>>>>>>>>> dependency still?
>>>>>>>>>
>>>>>>>>>> spear <- readRAST6(c("elevation.dem", "geology"), cat = c(FALSE,
>>>>>>>>>> TRUE))
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Warning message:
>>>>>>>>> statistics not supported by this driver
>>>>>>>>>
>>>>>>>>> The program does continue to successfully import the data.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Not a problem - an artefact of calling GDALinfo() on the temporary
>>>>>>>> file.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Great.  After all the real errors I've caused, it is nice to have
>>>>>>> reached a point where I can ignore the warnings.
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Moving onto GRASS 7:
>>>>>>>>>
>>>>>>>>> 2.  readRAST6 gives an error in grass70, output as follows:
>>>>>>>>>
>>>>>>>>>> spear <- readRAST6(c("geology", "elevation.dem"), cat=c(TRUE,
>>>>>>>>>> FALSE),
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> + useGDAL=FALSE)
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> r.info is called twice, once with -t, once with -r. In GRASS 7, all
>>>>>>>> of
>>>>>>>> have
>>>>>>>> been collected in -g, which simply breaks compatibility - arguably,
>>>>>>>> -t
>>>>>>>> could
>>>>>>>> have been left in place. When I find time to build a GRASS 7, I'll
>>>>>>>> try
>>>>>>>> to
>>>>>>>> accommodate the broken flag. -r is retained, so it is only on line 48
>>>>>>>> in
>>>>>>>> R/bin_link.R that any change is required.
>>>>>>>>
>>>>>>>
>>>>>>> I changed the flag as suggested and readRAST6 now works for my
>>>>>>> installation.
>>>>>>>
>>>>>>>>> Command: r.info
>>>>>>>>> Description: Outputs basic information about a raster map.
>>>>>>>>> Keywords: raster, metadata, history
>>>>>>>>> Parameters:
>>>>>>>>>  name: map, type: string, required: yes, multiple: no
>>>>>>>>>  keydesc: name, keydesc_count: 1
>>>>>>>>> [Name of raster map]
>>>>>>>>> Flags:
>>>>>>>>>  name: g [Print raster array information only] {FALSE}
>>>>>>>>>  name: r [Print range only] {FALSE}
>>>>>>>>>  name: e [Print extended metadata information only] {FALSE}
>>>>>>>>>  name: h [Print raster history instead of info] {FALSE}
>>>>>>>>>  name: verbose [Verbose module output] {FALSE}
>>>>>>>>>  name: quiet [Quiet module output] {FALSE}
>>>>>>>>> Error in doGRASS(cmd, flags = flags, ..., parameters = parameters,
>>>>>>>>> echoCmd = echoCmd) :
>>>>>>>>>  Invalid flag value: t
>>>>>>>>>
>>>>>>>>> I checked that r.info works:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> system("r.info geology")
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> +----------------------------------------------------------------------------+
>>>>>>>>> | Layer:    geology                        Date: Mon May  4 10:00:14
>>>>>>>>> 1987
>>>>>>>>> :  |
>>>>>>>>> | Mapset:   PERMANENT                      Login of Creator: grass
>>>>>>>>>   |
>>>>>>>>> | Location: spearfish70
>>>>>>>>> .
>>>>>>>>> .
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I see that -t is in the GRASS6.4.3 version of r.info, but not in the
>>>>>>>>> GRASS7.0 version of r.info.
>>>>>>>>>
>>>>>>>>> I'm not sure what to do next here.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 3.  readVECT6 causes R to exit.
>>>>>>>>>
>>>>>>>>>> bugsDF <- readVECT6("bugsites")
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> GRASS 7.0.svn (spearfish70):~ >
>>>>>>>>>
>>>>>>>>> I went back to check that the bugsites map was available:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> system("v.info bugsites")
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> +----------------------------------------------------------------------------+
>>>>>>>>> | Name:            bugsites
>>>>>>>>>    |
>>>>>>>>> | Mapset:          PERMANENT
>>>>>>>>>   |
>>>>>>>>> | Location:        spearfish70
>>>>>>>>>   |
>>>>>>>>> | Database:        /home/shared/research/GRASSDATA
>>>>>>>>>   |
>>>>>>>>> .
>>>>>>>>> .
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>> And then tried the debug tool to see where things went wrong...
>>>>>>>>>
>>>>>>>>> complete output at: http://pastebin.com/dJFsRSBC  with the final
>>>>>>>>> lines
>>>>>>>>> as:
>>>>>>>>>
>>>>>>>>> debug: res <- readOGR(dsn, layer = as.character(layer), verbose =
>>>>>>>>> !ignore.stderr,
>>>>>>>>>   pointDropZ = pointDropZ)
>>>>>>>>> Browse[2]>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> I'll look at this later, looks like a broken shapefile.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> I wasn't sure if you meant my local shapefile was broken?  So I
>>>>>>> checked the function on my real data as well as a fresh download of
>>>>>>> spearfish.  Neither worked.  I also tried it in a spearfish60
>>>>>>> location.
>>>>>>>
>>>>>>> My spearfish70 is simply spearfish60 after `v.build all` has been run.
>>>>>>>
>>>>>>>>
>>>>>>>> Roger
>>>>>>>>
>>>>>>>>> GRASS 7.0.svn (spearfish70):~ >
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I found a 2009 post regarding readOGR / readVECT6 and some
>>>>>>>>> versioning
>>>>>>>>> issues:
>>>>>>>>> https://stat.ethz.ch/pipermail/r-sig-geo/2009-April/005553.html
>>>>>>>>> but I installed both rgdal and spgrass6 inside of R as packages.  So
>>>>>>>>> I'm not sure if this older post is still applicable, especially
>>>>>>>>> since
>>>>>>>>> it works in GRASS 6.4.3.  Any suggestions for what to try next?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks in advance for any help provided.
>>>>>>>>>
>>>>>>>>> Eric
>>>>>>>>> _______________________________________________
>>>>>>>>> grass-stats mailing list
>>>>>>>>> grass-stats at lists.osgeo.org
>>>>>>>>> http://lists.osgeo.org/mailman/listinfo/grass-stats
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Roger Bivand
>>>>>>>> Department of Economics, NHH Norwegian School of Economics,
>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> Roger Bivand
>>>>>> Department of Economics, NHH Norwegian School of Economics,
>>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> Roger Bivand
>>>> Department of Economics, NHH Norwegian School of Economics,
>>>> 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
>>>
>>>
>>
>> --
>> Roger Bivand
>> Department of Economics, NHH Norwegian School of Economics,
>> 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
>

-- 
Roger Bivand
Department of Economics, NHH Norwegian School of Economics,
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 grass-stats mailing list