[GRASS5] compiling grass5.0beta7 on SGI IRIX
Andreas.Lange at Rhein-Main.de
Thu May 4 17:45:16 EDT 2000
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.
Andreas Lange, 65187 Wiesbaden, Germany, Tel. +49 611 807850
Andreas.Lange at Rhein-Main.de, A.C.Lange at GMX.net
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:
installed GNU tools:
22/4/2000: updated following libraries:
because the header files for libpng and libz had been missing.
Remember: You must install all dev- and hdr- components of
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:
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.
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?
INFINITY undeclared in function main.
use the patch from Pierre de Mouveaux (grasslist mail from 25. April
png.h: no such file or directory
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:
/* header stuff follows here */
#endif /* _MYINCLUDE_H */
r.out.png does not compile, same as above.
after installing dev and hdr from netpbm-1mar1994 it compiles.
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.
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. ?
unresolved text symbol "log" -- 1st referenced by
unresolved text symbol "log" -- 1st referenced by .. libgis.a(put_row.o)
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.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'
More information about the grass-dev