Previously 3.2.2 would not compile under Solaris, then 3.2.3
came out with a bug fix for the problem.
Now 3.2.3 won't compile under IRIX 6.5.14. I've tried using
both gcc 3.0.1 and the IRIX MIPSpro 7.1 compilers. I've been
compiling previous versions of OpenSSH for years using these
same compilers (we haven't updated the MIPSpro compiler for 3
years, and I've been using it on the IRIX platform exclusively),
so I think something broke in 3.2.3.
Here's what I get (cc):
cc -g -I. -I. -I/usr/local/lib -I/usr/local/lib -I/usr/local/include
-DSSHDIR=\"/etc/openssh\"
-D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\"
-D_PATH_SSH_PIDDIR=\"/etc/openssh\"
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DSSH_RAND_HELPER=\"/usr/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c
monitor_fdpass.c
cc-1020 cc: ERROR File = monitor_fdpass.c, Line = 58
The identifier "SCM_RIGHTS" is undefined.
cmsg->cmsg_type = SCM_RIGHTS;
^
cc-1020 cc: ERROR File = monitor_fdpass.c, Line = 117
The identifier "SCM_RIGHTS" is undefined.
if (cmsg->cmsg_type != SCM_RIGHTS)
^
2 errors detected in the compilation of "monitor_fdpass.c".
*** Error code 2 (bu21)
And from gcc:
gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I. -I/usr/local/lib
-I/usr/local/lib -I/usr/local/include -DSSHDIR=\"/etc/openssh\"
-D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\"
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\"
-D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\"
-D_PATH_SSH_PIDDIR=\"/etc/openssh\"
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\"
-DSSH_RAND_HELPER=\"/usr/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)
make: *** [monitor_fdpass.o] Error 1
Dave Foster
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- David
Foster National Center for Microscopy and Imaging Research
Programmer/Analyst University of California, San Diego
dfoster at ucsd.edu Department of Neuroscience, Mail 0608
(858) 534-7968 http://ncmir.ucsd.edu/
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
"The reasonable man adapts himself to the world; the unreasonable one
persists in trying to adapt the world to himself. Therefore, all progress
depends on the unreasonable." -- George Bernard Shaw
On Wed, 29 May 2002, David Foster wrote:> > Previously 3.2.2 would not compile under Solaris, then 3.2.3 > came out with a bug fix for the problem.Compile problems on Solaris? Don't remember any compile problems on Solaris. Runtime problems, yes.> > Now 3.2.3 won't compile under IRIX 6.5.14. I've tried using > both gcc 3.0.1 and the IRIX MIPSpro 7.1 compilers. I've been > compiling previous versions of OpenSSH for years using these > same compilers (we haven't updated the MIPSpro compiler for 3 > years, and I've been using it on the IRIX platform exclusively), > so I think something broke in 3.2.3.This was fixed in the CVS 2 days ago. Grab the latest snapshot or search the archives back a week or so for the patch I posted.> > Here's what I get (cc): > cmsg->cmsg_type = SCM_RIGHTS; > ^ > cc-1020 cc: ERROR File = monitor_fdpass.c, Line = 117 > The identifier "SCM_RIGHTS" is undefined. > > if (cmsg->cmsg_type != SCM_RIGHTS) > ^ > 2 errors detected in the compilation of "monitor_fdpass.c". > *** Error code 2 (bu21)-- Tim Rice Multitalents (707) 887-1469 tim at multitalents.net
You can fix this by adding the definition for SCM_RIGHTS explicitly to ./monitor_fdpass.c, which comes from <sys/socket.h> (which is not #include'd): #define SCM_RIGHTS 0x1010 /* access rights (array of int) */ It doesn't work to simply include this file, since: #ifdef _XOPEN_SOURCE /* "Socket"-level control message types: */ #define SCM_RIGHTS 0x01 /* access rights (array of int) */ #endif /* _XOPEN_SOURCE */ There is no such dependency on _XOPEN_SOURCE under Solaris. Dave Foster> > Previously 3.2.2 would not compile under Solaris, then 3.2.3 > came out with a bug fix for the problem. > > Now 3.2.3 won't compile under IRIX 6.5.14. I've tried using > both gcc 3.0.1 and the IRIX MIPSpro 7.1 compilers. I've been > compiling previous versions of OpenSSH for years using these > same compilers (we haven't updated the MIPSpro compiler for 3 > years, and I've been using it on the IRIX platform exclusively), > so I think something broke in 3.2.3. > > Here's what I get (cc): > > cc -g -I. -I. -I/usr/local/lib -I/usr/local/lib -I/usr/local/include > -DSSHDIR=\"/etc/openssh\" -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" > -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\" > -D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\" > -D_PATH_SSH_PIDDIR=\"/etc/openssh\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" > -DSSH_RAND_HELPER=\"/usr/libexec/ssh-rand-helper\" -DHAVE_CONFIG_H -c > monitor_fdpass.c > cc-1020 cc: ERROR File = monitor_fdpass.c, Line = 58 > The identifier "SCM_RIGHTS" is undefined. > > cmsg->cmsg_type = SCM_RIGHTS; > ^ > cc-1020 cc: ERROR File = monitor_fdpass.c, Line = 117 > The identifier "SCM_RIGHTS" is undefined. > > if (cmsg->cmsg_type != SCM_RIGHTS) > ^ > 2 errors detected in the compilation of "monitor_fdpass.c". > *** Error code 2 (bu21) > > > And from gcc: > > gcc -g -O2 -Wall -Wpointer-arith -Wno-uninitialized -I. -I. -I/usr/local/lib > -I/usr/local/lib -I/usr/local/include -DSSHDIR=\"/etc/openssh\" > -D_PATH_SSH_PROGRAM=\"/usr/bin/ssh\" > -D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/libexec/ssh-askpass\" > -D_PATH_SFTP_SERVER=\"/usr/libexec/sftp-server\" > -D_PATH_SSH_PIDDIR=\"/etc/openssh\" -D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty\" > -DSSH_RAND_HELPER=\"/usr/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) > make: *** [monitor_fdpass.o] Error 1 > > Dave Foster > > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-> David Foster National Center for Microscopy and Imaging Research > Programmer/Analyst University of California, San Diego > dfoster at ucsd.edu Department of Neuroscience, Mail 0608 > (858) 534-7968 http://ncmir.ucsd.edu/ > =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-> > "The reasonable man adapts himself to the world; the unreasonable one > persists in trying to adapt the world to himself. Therefore, all progress > depends on the unreasonable." -- George Bernard Shaw<< All opinions expressed are mine, not the University's >> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- David Foster National Center for Microscopy and Imaging Research Programmer/Analyst University of California, San Diego dfoster at ucsd.edu Department of Neuroscience, Mail 0608 (858) 534-7968 http://ncmir.ucsd.edu/ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- "The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable." -- George Bernard Shaw