| Summary: | openssh-3.2.3p1 does not compile on IRIX - SCM_RIGHTS undefined | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | Al Smith <Al.Smith> |
| Component: | Build system | Assignee: | OpenSSH Bugzilla mailing list <openssh-bugs> |
| Status: | CLOSED FIXED | ||
| Severity: | major | ||
| Priority: | P2 | ||
| Version: | -current | ||
| Hardware: | MIPS | ||
| OS: | IRIX | ||
this is what i asked in a message a while back; can an IRIX expert help here? "should we be using a UNIX95 (or whatever) namespace for IRIX? what happens with D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" SCM_RIGHTS is indeed protected (in sys/socket.h) by an #ifdef _XOPEN_SOURCE
However, trying this results in a multitude of other problems:
In file included from includes.h:94,
from monitor_fdpass.c:26:
/usr/include/lastlog.h:61: parse error before "ulong"
In file included from includes.h:134,
from monitor_fdpass.c:26:
/usr/include/netinet/in_systm.h:34: parse error before "n_short"
In file included from includes.h:136,
from monitor_fdpass.c:26:
/usr/include/netinet/ip.h:45: parse error before "u_char"
/usr/include/netinet/ip.h:49: parse error before "ip_len"
/usr/include/netinet/ip.h:50: parse error before "ip_id"
/usr/include/netinet/ip.h:51: parse error before "ip_off"
/usr/include/netinet/ip.h:55: parse error before "ip_ttl"
/usr/include/netinet/ip.h:56: parse error before "ip_p"
/usr/include/netinet/ip.h:57: parse error before "ip_sum"
/usr/include/netinet/ip.h:59: parse error before '}' token
/usr/include/netinet/ip.h:118: parse error before "u_char"
/usr/include/netinet/ip.h:120: parse error before "ipt_ptr"
/usr/include/netinet/ip.h:126: parse error before "ipt_oflw"
/usr/include/netinet/ip.h:136: parse error before '}' token
In file included from includes.h:137,
from monitor_fdpass.c:26:
/usr/include/netinet/tcp.h:38: parse error before "u_short"
/usr/include/netinet/tcp.h:52: parse error before "th_off"
/usr/include/netinet/tcp.h:62: parse error before "th_win"
/usr/include/netinet/tcp.h:63: parse error before "th_sum"
/usr/include/netinet/tcp.h:64: parse error before "th_urp"
This was fix 4 days after the release of 3.2.3p1 20020527 - (tim) [configure.ac.orig monitor_fdpass.c] Enahnce msghdr tests to address build problem on Irix reported by Dave Love <d.love@dl.ac.uk>. Back out last monitor_fdpass.c changes that are no longer needed with new tests. Patch tested on Irix by Jan-Frode Myklebust <janfrode@parallab.uib.no> Grab this configure http://www.multitalents.net/openssh/configure-msghdr-fix.gz i consider that a workaround vs. a fix for this IRIX issue. The problem is that OpenSSH is expecting systems to have ethier msg_accrights OR msg_control but not both. IRIX, UnixWare, and possibly others have backward/forward compatiblity defines that caused configure to report both. OpenSSH's code could not handle having both. After reviewing sys/socket.h on IRIX and UnixWare I enhanced the configure test to find the struct and reject the define. What am I missing here? Mass change of RESOLVED bugs to CLOSED |
SCM_RIGHTS not defined in monitor_fdpass.c. % uname -aR IRIX64 foo 6.5 6.5.16m 04101930 IP27 % gzip -dc openssh-3.2.3p1.tar.gz | tar xf - % cd openssh-3.2.3p1 % ./configure --with-ssl-dir=/usr/local [snip] checking for msg_accrights field in struct msghdr... yes checking for msg_control field in struct msghdr... yes [snip] % make [snip] gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I. -I/sys/inet/ssl/include -I/usr/local/include -DSSHDIR=\"/usr/local/etc\" -D_PATH_SSH_PROGRAM=\"/usr/local/bin/ssh\" -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\" -D_PATH_SFTP_SERVER=\"/usr/local/libexec/sftp-server\" -D_PATH_SSH_PIDDIR=\"/usr/local/etc\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" -DSSH_RAND_HELPER=\"/usr/local/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c monitor_fdpass.c monitor_fdpass.c: In function `mm_send_fd': monitor_fdpass.c:58: `SCM_RIGHTS' undeclared (first use in this function) monitor_fdpass.c:58: (Each undeclared identifier is reported only once monitor_fdpass.c:58: for each function it appears in.) monitor_fdpass.c: In function `mm_receive_fd': monitor_fdpass.c:117: `SCM_RIGHTS' undeclared (first use in this function) *** Error code 1 (bu21) %