[GRASS5] grass5 on darwin - problem w/init - SOLVED

Glynn Clements glynn.clements at virgin.net
Tue Sep 10 16:02:37 EDT 2002


andy agena wrote:

> adding the 'g' below did the trick and GRASS is functioning again!   
> thanks for your help.
> 
> however, I still need to add 'TCLTKGRASSBASE: /sw/grass5/tcltkgrass' to  
> my ~/.grassrc5 (which is no big deal, of course).

However, I still absolutely cannot figure out why this would help in
any way. Wherever tcltkgrass references TCLTKGRASSBASE, it does so as
$env(TCLTKGRASSBASE), and this is set in the tcltkgrass script as:

	set env(TCLTKGRASSBASE) $env(GISBASE)/tcltkgrass

The contents of $GISRC are no longer reflected into the environment at
startup; and even if they were, any setting would be overridden at the
start of the "tcltkgrass" script.

> as for details on Darwin's linking, I couldn't find any good  
> documentation Apple's site, but the Darwin developers' list might be a  
> place to start <http://search.lists.apple.com/darwin-development>.
> 
> as I'm poking around GRASS, 'g.select.pg' isn't in the bin directory,  
> and I'm assuming this is another error in my make.log file.  Can you  
> see any reason why this module failed to build?

"g.select.pg" isn't a module from the perspective of the build system. 
The module is "src.garden/grass.postgresql", and it failed to compile
due to an error in g.column.pg:

gcc -I/Users/andyagena/Desktop/grass-5_0_0_src_0/grass-5.0.0/src/include -g -O2   -I/sw/include -I/usr/local/pgsql/include -Wall -DPACKAGE=\""g.column.pg"\"  -c infxColumn.c -o OBJ.powerpc-apple-darwin6.0/infxColumn.o
infxColumn.c: In function `infxColumn':
infxColumn.c:43: warning: implicit declaration of function `exit'
infxColumn.c:66: `VARHDRSZ' undeclared (first use in this function)
infxColumn.c:66: (Each undeclared identifier is reported only once
infxColumn.c:66: for each function it appears in.)

This terminates the build of src.garden/grass.postgresql, and the
build process moves onto the next module. If you look, you should
notice that everything in src.garden/grass.postgresql/Gmakefile which
comes after g.column.pg is missing, not just g.select.pg.

Remove g.column.pg from src.garden/grass.postgresql/Gmakefile (or
comment it out), then re-compile.

BTW, VARHDRSZ is an "internal" definition, which isn't part of
PostgreSQL's public API. On my system (PostgreSQL 6.5.3, RedHat 6.2),
it's in postgres.h; on PostgreSQL 7.x (for unknown "x"), it's in
postgres_fe.h (which may be in the "internal" subdirectory). Note that
postgres_fe.h is only included if postgres.h wasn't detected.

IMHO, the reference to VARHDRSZ should be removed, and simply replaced
with the number 4.

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




More information about the grass-dev mailing list