[GRASSLIST:3127] Re: Problem with monitor....

Glynn Clements glynn.clements at virgin.net
Fri Apr 9 18:42:53 EDT 2004


Massimiliano Cannata wrote:

> Ok thanks for the help, now i've compiled all the grass code on my 
> external drive and got no error.
> Now i can run grass with:
> #> /mnt/maxtor_linux/grass_home/grass53/bin/grass53
> but still remain some problem.....
> 
> - Monitor problem:
> I can run a monitor only if i am ROOT, otherwise i get the same old 
> error: ERROR: In main.c: Couldn't get socket path.
> 
> whoami gives the rigth answer;

If you delete/rename the ~/.grassrc5 file, then start GRASS (in text
mode), does your username appear in the "mapset" field of the startup
screen?

> /tmp/grass-<username> is a directory, exist and i'm the owner;
> 
> what am i missing? maybe mounting my external drive (where i put my bin)?
> i use in fstab:  /dev/sda5     /mnt/maxtor_linux    ext2    defaults    1 2

No problem there. If you have "strace" installed, you could try:

	strace $GISBASE/driver/XDRIVER x0 "" ""

The output should contain two consecutive line like:

	lstat("/tmp/grass-glynn", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
	chmod("/tmp/grass-glynn", 0700)         = 0

(except with your username). Maybe one of them failed, in which case,
what is the error code (EACCES etc)?

> - Library problem:
> I cannot see libproj.so.0 because my LD_LIBRARY_PATH doesn't contain the 
> path /usr/local/lib.
> if i run:
> export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
> everything goes fine.....
> 
> but it should be already contemplate in some grass variable, in fact i run:

The configure switches only control where the linker looks for
libraries when GRASS is being built. They don't affect where the
loader (ld-linux.so) looks for libraries when you run programs.

If you are installing shared libraries in /usr/local/lib, you need to
either:

a) add /usr/local/lib to /etc/ld.so.conf, and run "ldconfig" whenever
you add more libraries, or

b) add /usr/local/lib to LD_LIBRARY_PATH in the shell startup scripts
(e.g. /etc/profile).

The GRASS startup script ($GISBASE/etc/Init.sh) adds the GRASS library
directory ($GISBASE/lib) to LD_LIBRARY_PATH, which deals with any
shared libraries which are part of GRASS itself.

OTOH, it assumes that any external shared libraries which it uses are
already installed correctly. And, in this case, libproj.so.0 wasn't
installed correctly; the mere presence of the library isn't
sufficient; the OS' loader has to be able to find it (and it won't
look in /usr/local/lib unless it's told to).

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-user mailing list