Compilation of openssh on IRIX

Roberto Vadori roberto.vadori at amet.it
Tue Apr 15 23:12:47 EST 2008


Dear sirs,

I tried to compile openssh-5.0p1 on a IRIX machine with gcc.

"/sbin/uname -a" gives:
IRIX o2 6.5 07202013 IP32 mips

and "/sbin/uname -R" gives:
6.5 6.5.30f

"gcc -v" gives:
Reading specs from /usr/freeware/lib/gcc-lib/mips-sgi-irix6.5/3.3/specs
Configured with: ../configure --prefix=/usr/freeware
--enable-version-specific-runtime-libs --disable-shared --enable-threads
--enable-haifa --enable-libgcj --disable-c-mbchar
Thread model: single
gcc version 3.3

Talking about OpenSSL libraries and headers, "./configure" says that:
checking OpenSSL header version... 90807f (OpenSSL 0.9.8g 19 Oct 2007)
checking OpenSSL library version... 90807f (OpenSSL 0.9.8g 19 Oct 2007)


"./configure" complains about <sys/stropts.h>:

[...]
checking sys/stropts.h usability... no
checking sys/stropts.h presence... yes
configure: WARNING: sys/stropts.h: present but cannot be compiled
configure: WARNING: sys/stropts.h: check for missing prerequisite headers?
configure: WARNING: sys/stropts.h: see the Autoconf documentation
configure: WARNING: sys/stropts.h: section "Present But Cannot Be Compiled"
configure: WARNING: sys/stropts.h: proceeding with the preprocessor's result
configure: WARNING: sys/stropts.h: in the future, the compiler will take
precedence
configure: WARNING: ## ------------------------------------------- ##
configure: WARNING: ## Report this to openssh-unix-dev at mindrot.org ##
configure: WARNING: ## ------------------------------------------- ##
checking for sys/stropts.h... yes
[...]

Nevertheless a "Makefile" and "config.status" is still produced.
Issuing a "make" the compilation stops at

[...]
gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare
-std=gnu99 -I. -I.. -I. -I./.. -I/usr/local/ssl/include
-DHAVE_CONFIG_H -c bsd-openpty.c

saying that:

In file included from bsd-openpty.c:61:
/usr/include/sys/stropts.h:237: error: parse error before "t_uscalar_t"
/usr/include/sys/stropts.h:261: error: parse error before "t_uscalar_t"
/usr/include/sys/stropts.h:267: error: parse error before '}' token
make[1]: *** [bsd-openpty.o] Error 1
make[1]: Leaving directory `/mnt/d0/software/openssh-5.0p1/openbsd-compat'
make: *** [openbsd-compat/libopenbsd-compat.a] Error 2


But an IRIX-based system has <stropts.h>, which in turns includes
<sys/stropts.h>.

So I made a "make distclean" and in:

- configure
- configure.ac
- openbsd-compat/bsd-openpty.c
- config.h.in

I changed all the occurrences of the string "sys/stropts.h" to a
straight "stropts.h"

Something like this, I mean:

*** bsd-openpty.c Mon Apr 14 09:06:12 2008
--- bsd-openpty.c.orig Mon Apr 14 09:06:50 2008
***************
*** 58,64 ****
# include <pty.h>
#endif
#if defined(HAVE_DEV_PTMX) && defined(HAVE_SYS_STROPTS_H)
! # include <stropts.h>
#endif

#include <signal.h>
--- 58,64 ----
# include <pty.h>
#endif
#if defined(HAVE_DEV_PTMX) && defined(HAVE_SYS_STROPTS_H)
! # include <sys/stropts.h>
#endif

#include <signal.h>


"configure" still complains about "present but not compiled"
but I got through "make" with a successful
compilation and working executables which I'm happily using
right now.

Conclusions:

Maybe could any of that be useful for you developers?

I have just a question: am I putting something nasty in my
sshd daemon?

Please, feel free to get in touch with me for any question
regarding this topic. I realize IRIX is not a very common
OS (alas, I'd say) but there are few of us out of there still
using IRIX with such a delight :)


Best regards.


-- 
Roberto Vadori - AMET Italy
"This paper gives wrong solutions to trivial problems. The basic error,
however, is not new". Clifford Truesdell, Math. Rev., 12, p 561.




More information about the openssh-unix-dev mailing list