Compilation problem (Solaris)

mike camann camann at pick.uga.edu
Thu Mar 30 17:38:40 EST 1995


Sorry if you get this twice, but I posted it to grassp-list as well as
grassu.

When compiling GRASS 4.1 (update 5) on a Sun SPARC 20 under Solaris 2.4
(? it's SunOS 5.4) I get the following compiler error shortly after
starting GISGEN:

cc -O -Xs -DGETHOSTNAME_UNAME -I/gis-soft/grass4/src/include  -c
intr_char.c
"intr_char.c", line 17: incomplete struct/union/enum tchars: buf
"intr_char.c", line 19: undefined symbol: TIOCGETC
"intr_char.c", line 20: undefined struct/union member: t_intrc
cc: acomp failed for intr_char.c
make: *** [OBJ/intr_char.o] Error 2
GISGEN failure at STEP: src/libes/gis

Take a look at $GIS/src/libes/src/intr_char.c.  The incomplete struct
and the undefined symbols refer to definitions that should be found in
<sgtty.h> when  #ifdef USE_TERMIO is undefined, as is the case on my
system. The <sgtty.h> file in SunOS 5.4 is VASTLY different, however,
from the one in SunOS 4.1.1, where I have successfully compiled GRASS
many times (and where this particular preprocessor directive works
fine).  That's /usr/include/sgtty.h.  Under SunOS 4.1.1, tchars and
TIOCGETC are actually defined in <sys/ttold.h>, which is #included in
<sgtty.h>; t_intrc is an element of (struct) tchars.  These definitions
are entirely missing in the SunOS 5.4 version of <sgtty.h> which does
not #include <sys/ttold.h>.

Am I correct in assuming that this is the root of the problem?  Should
I add #include <sys/ttold.h> to the preprocessor directives in
intr_char.c?  If so, why wasn't this done in the source code prior to
release?  The fact that it wasn't makes me suspect that this is not a
good solution.

Can anyone who has successfully compiled GRASS under Solaris 5.4 tell
me how to fix this?  Are there any other surprises in store?


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Michael Camann                  camann at dial.pick.uga.edu
Department of Entomology        camann at sparc.ecology.uga.edu
University of Georgia           (706) 542-2303 voice
Athens, GA 30602                (706) 542-2640 FAX

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



More information about the grass-user mailing list