[GRASS5] 5.7 - GIS manager - zoom and pan - change term to execute in d.m.tcl

Moritz Lennert mlennert at club.worldonline.be
Thu Sep 23 09:06:37 EDT 2004


On Thu, September 23, 2004 13:06, Glynn Clements said:
>
> Moritz Lennert wrote:
>
>> > See if this fixes the problem. If so, I can easily make a generic
>> change
>> > to
>> > all the buttons as they all use this format.
>>
>> No, this doesn't make a difference for me...
>>
>> When I try to launch 'xterm -e d.zoom' from the GRASS command line, I
>> have
>> the same problem. When I launch xterm from the GRASS command line I get
>> an
>> xterm, but when I enter d.zoom in there, I get:
>>
>> d.zoom: error while loading shared libraries: libgrass_display.so:
>> cannot
>> open shared object file: No such file or directory
>
> This usually occurs because xterm is setuid/setgid. For security
> reasons, the loader unsets certain environment variables (e.g.
> LD_LIBRARY_PATH) when running setuid/setgid programs.
>
> You need to add the full path for $GISBASE/lib to /etc/ld.so.conf then
> run ldconfig. This will allow the GRASS shared libraries to be found
> when LD_LIBRARY_PATH is unset.

This solves my problem since I am running only 5.7. But I guess below
solution would be more portable if we can find a way of determining the
correct variable name.

>
> However, this isn't a solution if you are using multiple versions of
> GRASS. Simply adding all of the lib directories won't work. As the
> shared libraries aren't versioned, the loader will load the first
> matching library which it finds, which won't necessarily be the
> correct one.
>
> We need to install a script along the lines of:
>
> 	#!/bin/sh
> 	LD_LIBRARY_PATH="$GISBASE/lib"
> 	export LD_LIBRARY_PATH
> 	exec "$@"
>
> (except that the exact variable name is platform-specific) and use
> that when runing programs via xterm, i.e.:
>
> 	exec xterm -e $env(GISBASE)/etc/grass-run.sh d.zoom


Moritz




More information about the grass-dev mailing list