Solaris compilation / reprise
Ronald Thomas
ront at niwot.CFNR.ColoState.EDU
Mon Aug 23 15:19:07 EDT 1993
Thanks, Jim, for looking things over and getting back to me; I don't feel
so alone out in the wilderness!! And thank you, Darrell, for joining in
the discussion and offering advice!!
Let's see, yes, I am using Openwindows to drive my graphics. I'm going
to add some of the compiler flags that you used to see if it gives me
a "better" XDRIVER.
I'm in over my head with much of the 'C' stuff, I just try to decipher the
error messages when a compilation bombs out, I never know exactly what I'm
doing. That's what led me to the problem with the gcc include file
'limits.h' The specifics of what I did are in item #1, following my
signature block.
This was the first time I had heard that mapgen4.1 was not working, even if
it compiles. So I guess all my adjustments that are listed are for naught,
but they are included also. I hope I didn't screw up my existing dig_geo,
etc., files by trying to use the new mapgen.
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
Ronald Thomas ^ ront at meeker.cfnr.colostate.edu
Natural Resources Spec. (GIS) ^
Resources Management Division ^ Phone: 303-586-3565 x285
Rocky Mountain National Park ^ 700-323-7285 (FTS)
Estes Park, CO 80517 ^ FAX: 303-586-4702
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^
----------------------------------------------------------------------
Adjustments made in order to compile GRASS4.1
under Solaris 2.2 using GNU gcc 2.4.5 as the compiler.
-----------------------------------------------------------------------
1) In /../gnu/lib/gcc-lib/sparc-sun-solaris2/2.4.5/include/limits.h:
Comment out line 11:
was #include <syslimits.h>
now /* #include <syslimits.h> */
(GNU gcc limits.h points to a non-existent <syslimits.h> file; it causes some
src.alpha and portions of MAPGEN to bomb out during compilation.)
(advice from comp.unix.solaris and personal experience)
2) In src/mapdev/diglib/dig_macros.h:
uncomment the ABS(x) macro on line 11:
was /* #define ABS(x) ((x) < 0 ? -(x) : (x)) */
now #define ABS(x) ((x) < 0 ? -(x) : (x))
(advice from Jim Pirzyk)
3) In /src/CMD/head/<arch>:
make sure that the flag "-DUSE_TERMIO" is set ;
ie : USE_TERMIO = -DUSE_TERMIO
(advice from Pirzyk, McCauley, et.al.)
4) To compile src.related/mapgen
a) in ../mapgen/graphics/fonts/Makefonts:
change "cc" to "gcc"
b) as root; cd to /usr/ccs/bin and do:
ln -s /usr/ucb ucbcc
(this creates a link to /usr/ucb that is looked for and can't be
found otherwise)
c) in ../mapgen/SCS/make.box/make_box.c:
on line 80, change "PEN == NULL" to "PEN == 0.0"
d) add 2 lines to src.related/mapgen/Gmakefile
$(MAPGEN_BIN)/get_angle soilsquad
mkdir ${GRAPH}/etc/soilsquad <------------- add this
mkdir ${GRAPH}/etc/soilsquad/misc <------------- and this
cp make.soilquad $(MAPGEN_BIN)/make.soilquad
e) manually copy /../mapgen/SCS/psu_tool to
/<wherever>/grass4.1/mapgen/interface
same for scripts psu.clean and tiger_tool into /<wherever>/grass4.1/scripts
(advice from NPS-WASO-GIS & personal experience)
5) To compile v.report, comment out the ABS(x) reference at the very
end of src.contrib/SCS/vector/v.report/cmd/do_v_stats.c
/*static
ABS (x)
{
if (x < 0) x = -x;
return x;
}
*/
(This is in addition to the other changes to v.report that were made to
make it work correctly under GRASS4.0).
More information about the grass-user
mailing list