openssh 5.2p1 fails to build on IRIX 5.3

Tom Christensen tgc at jupiterrise.com
Tue Mar 17 07:17:17 EST 2009


Hello,

I ran into a few problems when trying to build openssh 5.2p1 on IRIX 5.3.

First one is new to 5.2p1:
cc  -I. -I. -I/usr/tgcware/include/openssl -I/usr/tgcware/include 
-DSSHDIR=\"/usr/tgcware/etc/ssh\" 
-D_PATH_SSH_PROGRAM=\"/usr/tgcware/bin/ssh\" 
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/tgcware/libexec/ssh-askpass\" 
-D_PATH_SFTP_SERVER=\"/usr/tgcware/libexec/sftp-server\" 
-D_PATH_SSH_KEY_SIGN=\"/usr/tgcware/libexec/ssh-keysign\" 
-D_PATH_SSH_PIDDIR=\"/var/run\" 
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty/sshd\" 
-DSSH_RAND_HELPER=\"/usr/tgcware/libexec/ssh-rand-helper\" 
-DHAVE_CONFIG_H -c channels.c
cfe: Warning 581: /usr/include/sys/param.h:223: Macro MAXPATHLEN redefined.
cfe: Error: channels.c, line 2472: 'in_port_t' undefined; reoccurrences 
will not be reported.
         in_port_t *lport_p;
         ^
cfe: Error: channels.c, line 2546: 'lport_p' undefined; reoccurrences 
will not be reported.
                         lport_p = &((struct sockaddr_in *)ai->ai_addr)->
                         ^
cfe: Error: channels.c, line 2562: 'lport_p' undefined; reoccurrences 
will not be reported.
                         *lport_p = (*allocated_listen_port) ;
                         -^
make: *** [channels.o] Error 1

IRIX 5.3 does not define in_port_t in <netinet/in.h> instead it uses 
ushort for sockaddr_in.sin_port.
In other parts of openssh users of sin_port either use ushort or 
u_int16_t instead of in_port_t.

The second problem has been around since 4.7p1 and is only present when 
building with the old SGI compiler:
cc  -I. -I. -I/usr/tgcware/include/openssl -I/usr/tgcware/include 
-DSSHDIR=\"/usr/tgcware/etc/ssh\" 
-D_PATH_SSH_PROGRAM=\"/usr/tgcware/bin/ssh\" 
-D_PATH_SSH_ASKPASS_DEFAULT=\"/usr/tgcware/libexec/ssh-askpass\" 
-D_PATH_SFTP_SERVER=\"/usr/tgcware/libexec/sftp-server\" 
-D_PATH_SSH_KEY_SIGN=\"/usr/tgcware/libexec/ssh-keysign\" 
-D_PATH_SSH_PIDDIR=\"/var/run\" 
-D_PATH_PRIVSEP_CHROOT_DIR=\"/var/empty/sshd\" 
-DSSH_RAND_HELPER=\"/usr/tgcware/libexec/ssh-rand-helper\" 
-DHAVE_CONFIG_H -c atomicio.c
cfe: Warning 581: /usr/include/sys/param.h:223: Macro MAXPATHLEN redefined.
cfe: Error: atomicio.c, line 102: Unacceptable operand of == or !=
         pfd.events = f == readv ? 0x0001  : 0x0004 ;
         ---------------^
make: *** [atomicio.o] Error 1

The code is gibberish to me but since GCC has no issues I assume it's 
the compiler being difficult and not a problem with the intent of the
code.
Is there perhaps another way to write this that the SGI compiler would 
be more likely to grok?

-tgc


More information about the openssh-unix-dev mailing list