[GRASS5] mk build - nviz fails
glynn.clements at virgin.net
Sat Jun 29 18:23:15 EDT 2002
Tom Rake wrote:
> I build the release branch following the instructions mk instructions and
> NVIZ (started from tcltkgrass) gives up with:
> g.gisenv error loading shared libraries: libgrass_gis.so cannot open sharred
> boject file: No such file or directory
> while executing
> "exec g.gisenv get=GISDBASE"
> invoked from within
> "set env(GISDBASE) [exec g.gisenv get=GISDBASE]"
> (file "/home/grass5/grass5/bin/nviz" line 11)
> NVIZ started from the GRASS> prompt works fine.
> I am using the release branch (releasebranch_26_april_2002_5_0_0)
> Debian-GNU/Linux i686.
> I just recompiled both. NVIZ works when build by the old build process.
> Does the tcltkgrass start change the LD Path???
The problem is due to the fact that tcltkgrass spawns an xterm to run
certain programs, in case the program requires terminal-based user
interaction. xterm is normally setuid root and, for security reasons,
the loader unsets LD_LIBRARY_PATH when running setuid/setgid programs.
Consequently, tcltkgrass can't run any program which requires an xterm
and which depends upon the LD_LIBRARY_PATH which is set by GRASS for
You should be able to work around the problem by installing the GRASS
shared libraries in the same manner as "system" shared libraries (i.e.
install to a directory in /etc/ld.so.conf then run "ldconfig").
Note that shared library support is currently "experimental". It was
added primarily to assist developers, so that:
a) when modifying a library, it isn't necessary to re-link everything,
b) running "nm" and "ldd" on executables produces more useful
Actually, all of the stuff in the "mk" subdirectory is currently
experimental. The "official" build mechanism is the usual
"configure ... ; make".
In any case, thank you for reporting this. I wasn't aware of this
particular issue, and it will need to be addressed if shared libraries
are to be officially supported in future.
Glynn Clements <glynn.clements at virgin.net>
More information about the grass-dev