[Bug 152] New: Build failure on Sparc/Solaris 2.8 with Sun cc or gcc
bugzilla-daemon at mindrot.org
bugzilla-daemon at mindrot.org
Sat Mar 9 06:24:39 EST 2002
http://bugzilla.mindrot.org/show_bug.cgi?id=152
Summary: Build failure on Sparc/Solaris 2.8 with Sun cc or gcc
Product: Portable OpenSSH
Version: 3.0.2p1
Platform: Sparc
OS/Version: Solaris
Status: NEW
Severity: major
Priority: P2
Component: Build system
AssignedTo: openssh-unix-dev at mindrot.org
ReportedBy: zed at debian.org
This affects both 3.0.2p1 and 3.1p1. Somehow, data from header files is being
lost during compiles. Configure is run as:
CC=gcc ./configure --prefix=$PREFIX \
--infodir=$PREFIX/share/info \
--mandir=$PREFIX/share/man \
--sysconfdir=$PREFIX/etc \
--with-xauth=/usr/openwin/bin/xauth \
--with-rsh=/usr/bin/rsh \
--with-4in6 --with-pam \
--disable-suid-ssh \
--with-default-path=/usr/local/free/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/openwin/bin
Running make from here gets to:
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I.
-I/usr/local/free/include -I/usr/local/include -DSSHDIR=\"/usr/local/free/etc\"
-D_PATH_SSH_PROGRAM=\"/usr/local/free/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/free/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/local/free/libexec/sftp-server\"
-D_PATH_SSH_PIDDIR=\"/var/run\"
-DSSH_RAND_HELPER=\"/usr/local/free/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
ttymodes.c
In file included from ttymodes.c:297:
ttymodes.h: In function `tty_make_modes':
ttymodes.h:125: `IXANY' undeclared (first use in this function)
ttymodes.h:125: (Each undeclared identifier is reported only once
ttymodes.h:125: for each function it appears in.)
ttymodes.h:159: `ONLCR' undeclared (first use in this function)
In file included from ttymodes.c:392:
ttymodes.h: In function `tty_parse_modes':
ttymodes.h:125: `IXANY' undeclared (first use in this function)
ttymodes.h:159: `ONLCR' undeclared (first use in this function)
which of course are defined in /usr/include/sys/termios.h, which is pulled in
from /usr/include/termios.h. Manually adding #include <sys/termios.h> to the
top of ttymodes.h has no effect. Adding in the IXANY and ONLCR #defines to the
top of ttymodes.h gets it a little farther, but then it dies at:
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I.
-I/usr/local/free/include -I/usr/local/include -DSSHDIR=\"/usr/local/free/etc\"
-D_PATH_SSH_PROGRAM=\"/usr/local/free/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/free/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/local/free/libexec/sftp-server\"
-D_PATH_SSH_PIDDIR=\"/var/run\"
-DSSH_RAND_HELPER=\"/usr/local/free/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
ssh.c
ssh.c: In function `main':
ssh.c:620: warning: implicit declaration of function `snprintf'
ssh.c: In function `x11_get_proto':
ssh.c:835: warning: implicit declaration of function `strlcpy'
ssh.c: In function `ssh_session':
ssh.c:898: storage size of `ws' isn't known
ssh.c:936: warning: implicit declaration of function `ioctl'
ssh.c:936: `TIOCGWINSZ' undeclared (first use in this function)
ssh.c:936: (Each undeclared identifier is reported only once
ssh.c:936: for each function it appears in.)
ssh.c:898: warning: unused variable `ws'
ssh.c: In function `ssh_session2_setup':
ssh.c:1055: storage size of `ws' isn't known
ssh.c:1061: `TIOCGWINSZ' undeclared (first use in this function)
ssh.c:1055: warning: unused variable `ws'
make: *** [ssh.o] Error 1
I can get around the TIOCGWINSZ problem the same way, but I'm defeated by
whatever strange thing is going on with ws.
At first, I thought I had somehow managed to mangle my gcc install, but
upgrading from gcc 2.94 to gcc 3.0.4 had no effect, and I didn't do anything out
of the ordinary on the compile procedure. So then I tried again, only with
CC=cc, using the sun compiler. I got stopped at exactly the same points, albeit
with slightly different errors:
cc -g -I. -I. -I/usr/local/free/include -I/usr/local/include
-DSSHDIR=\"/usr/local/free/etc\" -D_PATH_SSH_PROGRAM=\"/usr/local/free/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/free/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/local/free/libexec/sftp-server\"
-D_PATH_SSH_PIDDIR=\"/var/run\"
-DSSH_RAND_HELPER=\"/usr/local/free/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
ssh.c
"ssh.c", line 898: incomplete struct/union/enum winsize: ws
"ssh.c", line 936: undefined symbol: TIOCGWINSZ
"ssh.c", line 938: undefined struct/union member: ws_row
"ssh.c", line 939: undefined struct/union member: ws_col
"ssh.c", line 940: undefined struct/union member: ws_xpixel
"ssh.c", line 941: undefined struct/union member: ws_ypixel
"ssh.c", line 1055: incomplete struct/union/enum winsize: ws
"ssh.c", line 1061: undefined symbol: TIOCGWINSZ
"ssh.c", line 1066: undefined struct/union member: ws_col
"ssh.c", line 1067: undefined struct/union member: ws_row
"ssh.c", line 1068: undefined struct/union member: ws_xpixel
"ssh.c", line 1069: undefined struct/union member: ws_ypixel
cc: acomp failed for ssh.c
make: *** [ssh.o] Error 2
At first I thought that somehow the header protective #defines were being set
without the header data actually being loaded, but when I removed the specific
#defines I mentioned above and tried adding:
#undef _TERMIO_H
#undef _SYS_TERMIO_H
#include <termio.h>
to the top of ttymodes.h, it again stopped at the same spot.
A complete build log can be made available upon request.
--
Zed Pobre <zed at math.lsu.edu>
Department of Mathematics, Louisiana State University
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the openssh-unix-dev
mailing list