[GRASS5] compiling on IRIX 6.5 with gcc 3.0

Glynn Clements glynn.clements at virgin.net
Mon Oct 29 13:22:23 EST 2001


Andreas Lange wrote:

> i just finished a compiling run on IRIX 6.5 with gcc 3.0.
> I have several important problems:
> 
> d.area:
> Gmakefile uses install -D, which is no valid option on IRIX, Solaris
> etc. Not to the native BSD install from IRIX, nor to the freeware GNU
> install. Without -D it seems to work.

This should probably just use "cp".

> s.hull:
> on Solaris some problems with -lm in the library dependency line, should
> be removed and changed to $(MATHLIB) on the compile line.

Agreed; will do.

> XDRIVER:
> Does not compile on IRIX and Solaris due to missing library for
> 'setenv'. Which library this is referenced in?

It appears to be a BSD function. It's present in GNU libc, but I'm
guessing that other systems might need -lbsd/-lcompat/-lbsd-compat. 
I'll change it to use putenv(), which is a POSIX function.

> grass.postgresql:
> libpq-fe.h is not found, although ./configure does not issue any
> warnings.
> OK, this may be from the manual editing of the header (see below). 

Huh?

> NVIZ2.2:
> nvizAppInit.c: tk.h: No such file or directory
> In file included from nvizAppInit.c:8:
> togl.h:92:17: tcl.h: No such file or directory
> togl.h:93:16: tk.h: Error 0
> In file included from nvizAppInit.c:8:
> togl.h:150: parse error before '*' token

Did the Tcl/Tk configure checks pass?

> (on IRIX and Solaris/SPARC).
> On IRIX it compiles with -I/usr/freeware/include added to the include
> line.
> But gives many many compiling warnings. 
> 
> I'll upload the output of ./configure etc. to:
> http://mitglied.tripod.de/AndreasLange/igrass/index.html

I'll take a look.

> On IRIX i had to change the line 
> # COMPILE_FLAGS       = -g -O2  -I/usr/freeware/include
> to
> COMPILE_FLAGS       = -g -O2
> otherwise the compilation of flate.c in the gis lib fails with the
> following error:  
>   SRC     = /disk2/opt/grass/grass/src
>   CMD     = /disk2/opt/grass/grass/src/CMD
>   UNUSED  = /disk2/opt/grass/grass/unused
>   HEADER  = head.mips-sgi-irix6.5
>   ARCH    = mips-sgi-irix6.5
>   GISBASE = /disk2/opt/grass/grass/dist.mips-sgi-irix6.5
>   VERSION = 5.0.0pre2 September 2001 
> #################################################################
> /disk2/opt/grass/grass/src/libes/gis
>   make -f OBJ.mips-sgi-irix6.5/make.rules 
> 
> gcc -g -O2  -I/usr/freeware/include
> -I/disk2/opt/grass/grass/src/include    -c flate.c -o
> OBJ.mips-sgi-irix6.5/flate.o
> flate.c: In function `break_compile':
> flate.c:123: `NULL' undeclared (first use in this function)
> flate.c:123: (Each undeclared identifier is reported only once
> flate.c:123: for each function it appears in.)
> make: *** [OBJ.mips-sgi-irix6.5/flate.o] Error 1

This occurs if HAVE_ZLIB_H is undefined.

Does /usr/freeware/include contain a file called config.h? That would
break stuff.

The CFLAGS definition in the generated make.rules file is wrong:

CFLAGS      =  $(COMPILE_FLAGS) -I$(INCLUDE_DIR) $(EXTRA_CFLAGS) $(USE_TERMIO)

For gcc, the "-I$(INCLUDE_DIR)" should come first.

> For the png-modules i have to add:
> -I/usr/include/freeware
> and -lm to -lpng to get them to compile. 

PNGLIB should include -lm and/or -lz if either of these have to be
specified explicitly.

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



More information about the grass-dev mailing list