[GRASS5] compiling grass5.0beta7 on SGI IRIX

Andreas Lange Andreas.Lange at Rhein-Main.de
Thu May 4 17:45:16 EDT 2000


Hi,

i post here a lengthy description of what i expirienced compiling GRASS
5.0beta7 on SGI IRIX 6.2 with egcs 2.91.66.

Most of the problems will be solved if the new GNU autoconf system is
set up so i will not send patches for those problems. I want to stress
that for the modules using 'non-standard' libraries (libtiff, libpng)
the include directives (-I, -L) should be specified in the global header
file and in the Gmakefile of the module. 

I had until now no time to check if the modules are working, i report
only if the compiling succeeded.

I would be glad if someone could give me a hint on the other compiling
errors. I will inspect NVIZ 2.2 and the other errors later.

cu,

Andreas

-- 
Andreas Lange, 65187 Wiesbaden, Germany, Tel. +49 611 807850
Andreas.Lange at Rhein-Main.de, A.C.Lange at GMX.net



Libraries:

With IRIX 6.5 the header files and libraries are included with the
distribution of the operating system. Under IRIX 6.2 the IDO is needed. 

installed GNU libraries:

glib 1.2
io
iostream
jpeg
ltdl
ncurses
netpbm
png
readline
tcl8.0
tiff
tk8.0
z

installed GNU tools:
make
groff
autoconf
automake
m4
perl5
libtool 

22/4/2000: updated following libraries:
fw_libz-1.1.3
fw_libpng-1.0.6
fw_netpbm-1march1994
because the header files for libpng and libz had been missing. 
Remember: You must install all dev- and hdr- components of
the libraries!


hint: i "GNUified" my machine, that means i replaced /bin/cc with
a link to egcs, /bin/f77 with a link to g77, replaced SGI make with a 
link to GNU make, replaced nroff with a link to GNU groff etc. 
and added /usr/freeware/bin in front of my $PATH.  
If you have a standard IRIX installation you will possibly get
some more errors due to the paths and Gmakefiles of GRASS.
I would not recommend to make the above changes, as they can 
render your machine incompatible with IRIX tools and compiler and
break automatic installation with the IRIX inst tool. 


The compiling process in detail:

src/mapdev/v.geom:
Unresolved text symbol "mallopt" .. libbasic.a(malloc.o).

patch to Gmakefile (add ifdef for IRIX)
and patch to src/libes/geom/basic/malloc.c (not required!)
The code in malloc.c (mallopt function) is not strictly required, 
it uses a feature of IRIX for debugging memory problems with malloc, 
which is only useable if you compile the library with the DEBUG flag, 
which will cause heavy performance penalties. 


src/raster/r.binfer
in function yylex: yylineno undeclared
-> this means that flex should be called in lex-compatible mode
via flex -l. 
changed src/CMD/head/head: flex to flex -l
howto include this into ./configure?


src/raster/r.cost:
INFINITY undeclared in function main.
use the patch from Pierre de Mouveaux (grasslist mail from 25. April
2000) 


src/raster/r.in.png:
png.h: no such file or directory
pnm.h
png.h: ...
needs libpng and header files for this library.

This is a total mess:
We should define a $(PNGINC) and $(PNGLIB) in the main header file
and with the autoconf-system. 
The Gmakefile for r.in.png does not use the header and library paths,
only uses EXTRA_CFLAGS to include -I/usr/X11R6/include/
Please correct this to a platform independed system!

pnm.h is part of netpbm library (i have installed netpbm-1mar1994)
The problem was that i did indeed install netpbm, but without the
dev and hdr components. 

next problem is the double include of <math.h> in r.in.png.c.
Alex Shevlakov should revise the #include directives in 
r.in.png and r.out.png:
#ifndef _MYINCLUDE_H
#define _MYINCLUDE_H
/* header stuff follows here */
#endif /* _MYINCLUDE_H */


r.in.ppm compiles!


r.out.png does not compile, same as above.
after installing dev and hdr from netpbm-1mar1994 it compiles.


src.contrib/GMSL/SG3d:
warning: #ifdef argument starts with a digit ...
warnings for incompatible pointer types etc.
show.c in function show_what: 192: empty character constant
show.c:115: structure has no member named 'count'
I don't know which libpanel to use, can not compile 9.6.
libpanel.a/libpanel.so is in /usr/freeware/lib32, but without req.
header file


src.contrib/GMSL/g3d/src3d/raster/r3.mkdspf
unresolved text symbol "floor", "ceil", "log" etc.
that means IMHO that $(MATHLIB) is missing in Gmakefile!
But this $(MATHLIB) is needed at compiling of the libraries for
g3d, i was not able to spot where to put the $(MAHTLIB) directive
in a Gmakefile. ?


src.contrib/CERL/raster/r.water.fea/src/programs/channelfea
unresolved text symbol "log" -- 1st referenced by
..libgis.a(put_row.o).
..


src.contrib/PURDUE/d.linegraph
unresolved text symbol "log" -- 1st referenced by .. libgis.a(put_row.o)
..


NVIZ2.2
libraries are in /usr/freeware/lib32
headers are (mainly) in /usr/freeware/include
./configure works if you know the locations of libraries.
togl.c:65: initializer element for configSpecs[0].offset is not constant
..
same error as in grass.50beta6, i have no fix for this.

---------------------------------------- 
If you want to unsubscribe from GRASS Development
Team internal mailing list write to:
minordomo at geog.uni-hannover.de with
subject 'unsubscribe grass5'
length: 6147
max: 0



More information about the grass-dev mailing list