[GRASSLIST:2868] SOLVED (Re: d.mon can't bind to socket)

Anthony Morton abmorton at mac.com
Sun Jan 6 21:02:05 EST 2002


> In pre2 and earlier, the monitor socket is created in a subdirectory
> of the current mapset, specifically:
> 	$GISDBASE/$LOCATION_NAME/$MAPSET/.tmp/<hostname>/<monitor name>
> Eric changed this (after pre2) to use:
> 	/tmp/grass-<username>/<monitor name>
> Other than the pathname used, the behaviour hasn't changed.
> Basically, the directions given by Eric aren't applicable to pre2. But
> check that the .tmp/<hostname> subdirectory exists. If it doesn't,
> that would cause the bind() call to fail.

That wasn't the problem, as it turned out - it seems to be an issue with 
long pathnames.

Up to now my GISDBASE had been set to

	/Users/amorton/Documents/TransportResearch/grassdata

and my HOSTNAME (set by the University IT folks) is 
G4-tonym.eng.monash.edu.au.

Stringing these together with a location and mapset seems to have made 
too much of a mouthful for something (whether it's a bug in OSX or GRASS 
I'm not sure).  My hunch is that although PATH_MAX for my system is 
notionally 1024 bytes there's some code somewhere that's limited to 128 
bytes.

Anyway, everything works when I move my GISDBASE to 
/usr/local/share/grassdata instead.

My only concern now is that the monitor sockets still exist in the 
.tmp/<hostname> folder after I exit GRASS - even when I tell it to stop 
all monitors.  Should I be concerned about this?  Admittedly they don't 
take up space on my disk.

Regards,
Tony M.



More information about the grass-user mailing list