Bug 276 - openssh-3.2.3p1 does not compile on IRIX - SCM_RIGHTS undefined
Summary: openssh-3.2.3p1 does not compile on IRIX - SCM_RIGHTS undefined
Status: CLOSED FIXED
Alias: None
Product: Portable OpenSSH
Classification: Unclassified
Component: Build system (show other bugs)
Version: -current
Hardware: MIPS IRIX
: P2 major
Assignee: OpenSSH Bugzilla mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-06-14 18:11 AEST by Al Smith
Modified: 2004-04-14 12:24 AEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Al Smith 2002-06-14 18:11:35 AEST
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)
%
Comment 1 Kevin Steves 2002-06-15 14:26:47 AEST
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"
Comment 2 Al Smith 2002-06-15 16:24:51 AEST
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"



Comment 3 Tim Rice 2002-06-16 04:01:06 AEST
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
Comment 4 Kevin Steves 2002-06-16 04:18:24 AEST
i consider that a workaround vs. a fix for this IRIX
issue.
Comment 5 Tim Rice 2002-06-16 04:30:06 AEST
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?
Comment 6 Damien Miller 2004-04-14 12:24:18 AEST
Mass change of RESOLVED bugs to CLOSED