bugzilla-daemon at mindrot.org
2002-Mar-08 19:24 UTC
[Bug 152] New: Build failure on Sparc/Solaris 2.8 with Sun cc or gcc
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.