-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Setup:
- Win 10 Enterprise 10.0.19043
- OSGeo4W
- GRASS 7.8.6
- R 4.1.1 64 bit
- rgrass7 0.2-6; rgdal 1.5-27; raster 3.5-2; sp 1.4-5; sf 1.0-3
- RStudio 1.4.1717 launched from the OSGeo4W shell
- working within an RStudio project folder that contains an existing GRASS location in a subfolder
library(rgrass7)
initGRASS(gisBase = file.path('C:', 'OSGeo4W', 'apps', 'grass', 'grass78'),
gisDbase = file.path(getwd(), 'data_spatial'), location = 'grass_data',
mapset = "PERMANENT", override = TRUE)
produces the following warning:
Warning message:
> In system(syscmd, intern = intern, ignore.stderr = ignore.stderr, :
running command 'g.proj.exe -w' had status 884
This doesn't happen when initialising a new grass location, (e.g. in R's temp file area), only when accessing an existing one. Using gmeta() also produces the same warning. I think I've traced the issue to here, https://github.com/rsbivand/rgrass7/blob/5801ed574b6aef6da272d9dbd1939770c21879e9/R/rgrass.R#L110
specifically the use of intern = TRUE. I think the error handling line that follows isn't catching this issue, because a simple status of 884 is returned rather than anything including the word 'ERROR'. I can't find an explanation of what status 884 implies.
This effect persists whether an RStudio project is active or not, and the same issue arises if I launch RStudio normally and use my own initialization script. Everything else seems to work fine, and I have been working with this location across several previous versions of R and GRASS without this message appearing.