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