Just found the difference between locations on
the vfat and on the ext3 partition:
mapsets on the vfat partition get
files MYNAME WIND as myname and wind.
Just renaming these files makes everything work.
What I do not understand is why grass
writes thes files in lower case, it does not
with LOCATION for example, and even less
why grass has a different behaviour
for different partition formats
Note that in both cases I'm using linux (Ubuntu 8.04)
and grass6.2.3
Thanks
Agus
Agustin Lobo wrote:
Glynn,
Unfortunately, this is not the case. Directory
drwxrwxrwx /media/mifat32/test/PERMANENT
is in upper case, with its
DEFAULT_WIND myname wind files
all of them with -rwxrwxrwx permissions.
If I start
grass -text
on /media/mifat32
I enter a normal grass session (although g.mapset does not work!)
But if I do
grass -gui
I get the gui with
GIS data directory: /media/mifat32
Project Location: test
Mapset: testmapset
and when I select Enter GRASS, I get an error:
Warning Invalid Mapset
Warning <0> is not a valid mapset.
Also, if within the grass text session I do:
g.mapset /media/mifat32/test/testmapset
I get:
ERROR: The mapset does not exist.
even if I do it from within the
/media/mifat32/test/testmapset directory!
This is so confusing...
Agus
Glynn Clements wrote:
Agustin Lobo wrote:
I'm using grass 6.2.3 on ubuntu 7.1
I've set up a fat32 partition so that I can share data with windows.
The line in my fstab is:
/dev/sda4 /media/mifat32 vfat
auto,rw,gid=1000,uid=1000,iocharset=utf8,umask=0000 0 0
I mount with no problems, files belong to user alobo group alobo, I
can write,delete and make directories.
When I try to create a LOCATION and a mapset, I get errors. For
example, cannot do it with
the graphic interface, if I select Create mapset, I get:
couldn't change working directory to "##ERROR##": no such file or
directory
couldn't change working directory to "##ERROR##": no such file or
directory
while executing
"cd $location"
invoked from within
".frame0.frameNMS.third.button invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 22)
invoked from within
"tk::ButtonUp .frame0.frameNMS.third.button"
(command bound to event)
Just a guess, but is the PERMANENT directory in upper or lower case?
If Linux has decided to convert it to lower case, the CheckLocation
procedure in gis_set.tcl won't find it.
FWIW (CC to grass-dev), checking for PERMANENT like this:
foreach filename [lsort [glob -nocomplain *]] {
if {[string compare $filename "PERMANENT"] == 0} {
...
}
}
is bogus. It should be:
if {[file isdirectory "PERMANENT"]} {
...
}
The latter will correctly handle a filesystem which isn't
case-sensitive.
It should also handle the case where you don't have read permission on
the location directory. Enumeration requires read permission, while
lookup only requires execute permission. You shouldn't actually need
read permission for anything other than "g.mapsets -l".
I can do it with the console (Projection Values), but then, at the end,
the graphic interface quits and I get:
GRASS 6.2.3 (delmedir):/media/mifat32 > ERROR: default region is not set
This might be related; if it's looking for PERMANENT/DEFAULT_WIND
using enumeration and comparison (as above), it will fail if the case
is wrong.
--
Dr. Agustin Lobo
Institut de Ciencies de la Terra "Jaume Almera" (CSIC)
LLuis Sole Sabaris s/n
08028 Barcelona
Spain
Tel. 34 934095410
Fax. 34 934110012
email: [EMAIL PROTECTED]
http://www.ija.csic.es/gt/obster
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user