Klaus Ziegler - owner of sunfreeware.de
2016-Jan-31 23:52 UTC
configure warning on SunOS 4.1.4
Hi, I was told to do so by configure of openssh-7.1p2 -:) ... configure: WARNING: sys/audit.h: present but cannot be compiled configure: WARNING: sys/audit.h: check for missing prerequisite headers? configure: WARNING: sys/audit.h: see the Autoconf documentation configure: WARNING: sys/audit.h: section "Present But Cannot Be Compiled" configure: WARNING: sys/audit.h: proceeding with the preprocessor's result configure: WARNING: sys/audit.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------- ## configure: WARNING: ## Report this to openssh-unix-dev at mindrot.org ## configure: WARNING: ## ------------------------------------------- ## configure options used: --sysconfdir=/etc/ssh --libexecdir=/usr/lib/ssh --sbindir=/usr/lib/ssh --prefix=/usr --with-pid-dir=/var/tmp -with-xauth=/usr/openwin/bin/xauth --with-mantype=man --with-md5-passwords --with-ssl-engine --with-default-path=/usr/bin --with-privsep-path=/var/opt/sshd --with-privsep-user=sshd environment used: PATH=/usr/lang:/opt/sfw/bin:/bin:/usr/ucb:/usr/kvm:/usr/etc:/usr/5bin CFLAGS=-Xa -D__SYS5__ -D__EXTENSIONS__ -xCC -cg92 -fast -nolibmil -xO4 compiler used: acc -V acc: SC3.0.1 12/7/95 patch_101913-05 error in config.log: configure:7525: checking sys/audit.h usability configure:7542: acc -c -Xa -D__SYS5__ -D__EXTENSIONS__ -xCC -cg92 -fast -nolibmil -xO4 conftest.c >&5 "/usr/include/sys/audit.h", line 189: syntax error before or at: blabel_t "/usr/include/sys/audit.h", line 189: cannot recover from previous errors configure:7548: $? = 10 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "OpenSSH" ... can be fixed by the following patch to sys/audith.h: --- audit.h.orig 1994-10-14 20:29:44.000000000 +0100 +++ audit.h 2016-02-01 00:18:49.000000000 +0100 @@ -6,6 +6,9 @@ #ifndef _sys_audit_h #define _sys_audit_h +/* This makes the test for audith.h in openssh-7.1p2 happy -:) */ +#include <sys/label.h> + /* * Maximum size for audit data passed from the audit system call * This value is arbitrary, so offers of better numbers are invited. let's see how the build goes, when the new openssl has finshed testing the build went fine so far - shared library support is still missing - but we'll see -:) Best Regards Klaus -- Tel: (++49 6105) 968846 Klaus Ziegler Mobil: (++49 172) 3064445 Zeppelinstrasse 3 mailto: klausz at haus-gisela.de D-64546 Walldorf-Moerfelden http://www.haus-gisela.de/~klausz
On Sun, Jan 31, 2016 at 6:52 PM, Klaus Ziegler - owner of sunfreeware.de <klausz at haus-gisela.de> wrote:> > Hi, > > I was told to do so by configure of openssh-7.1p2 -:)SunOS 4.1.4? Dear lord, that OS is old enough to drink now.I still remember doing the first published ports of ssh-1, ssh-2, and openssh to SunOS way, way back in yesteryear. *Why* are you still running this? I'm not deprecating the work, just wondering why you're supporting an OS more than 20 years old from a company that no longer exists, on an OS that Sun itself tried to deprecate when Solaris came out.
Klaus Ziegler - owner of sunfreeware.de
2016-Feb-03 20:52 UTC
configure warning on SunOS 4.1.4
On 01.02.16 08:20, Nico Kadel-Garcia wrote:> SunOS 4.1.4? Dear lord, that OS is old enough to drink now.I still > remember doing the first published ports of ssh-1, ssh-2, and openssh > to SunOS way, way back in yesteryear. *Why* are you still running > this? I'm not deprecating the work, just wondering why you're > supporting an OS more than 20 years old from a company that no longer > exists, on an OS that Sun itself tried to deprecate when Solaris came > out.Hi Nico, well, I used to work for that company and went through all thinkable migrations from SunOS to Solaris at many customer sites. Now I'm old and play around with some of these oldtimer's I've sitting around here. And not to get too rusty I try to get some things going. To be honest I don't want to get SSH for SunOS 4.1.4 running, instead I want to have have it for SunOS 4.1.1_U1 on Sun3x architecture (3/80). But since compiling on this even more older hardware I begun my work on a SS10 with 4.1.4 - 2x60Mhz/512MB memory. But to something more serious, you would be wondering how much people still use such old operating systems on some island-systems which would love to have a secure connectivity for. The last known working SecureShell server for Sun3 you can get is: OpenSSH-4.3p2, OpenSSL 0.98a from: http://www.sun3arc.org/precompiled/precomp.phtml - I have a working OpenSSL 1.0.2f for Sun4 now the build for Sun3 will follow when SSH is working. I even have made good progress implementing the missing snprintf into the libc to at least have the underlying zlib as secure as possible. But if you tell me you will abandon SunOS4 completely I would be sad, but well the world doesn't go down the bin because of that. And after all it's much fun -:) So the first build on SPARC is fished and installed the conclusions so far: hostnameresolution isn't working - only IP's possible everything runs without dumping at least a core. if trying to connect via ssh from the build system to any other secure-shell server the following happens: nobody at nosystem % ssh 192.168.xxx.xxx The authenticity of host '192.168.xxx.xxx (192.168.xxx.xxx)' can't be established. RSA key fingerprint is SHA256:TtrEzvxTL5C... Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.xxx.xxx' (RSA) to the list of known hosts. Enter passphrase for key '/home/nobody/.ssh/id_rsa': xreallocarray: out of memory (1 elements of 4 bytes) <-- here is the first thing which goes wrong in xmalloc.c one thing to mention is that blocks.c isn't able to compile with any optimization, just -g is possible no matter if I try gcc-2.95.3/3.2.3 or SPARCworks SC3.0.1 - blocks.c allocates more and ore ram until nothing is left, this one will be hard to find I guess. I will try the bootstrap using SPARCworks again as it found some integer-overflows I hope they aren't real overflows, just bugs in this compiler. I keep you posted of next progresses, please find the patch I did so far - of course not for integration purposes - just to let you know, I know how to use GNU diff/patch -:) Much Regards Klaus -- Tel: (++49 6105) 968846 Klaus Ziegler Mobil: (++49 172) 3064445 Zeppelinstrasse 3 mailto: klausz at haus-gisela.de D-64546 Walldorf-Moerfelden http://www.haus-gisela.de/~klausz
On Mon, Feb 01, 2016 at 12:52:35AM +0100, Klaus Ziegler - owner of sunfreeware.de wrote: [...]> "/usr/include/sys/audit.h", line 189: syntax error before or at: blabel_t > "/usr/include/sys/audit.h", line 189: cannot recover from previous errorsDoes sys/types.h pull in the required headers? The configure tests do this kind of thing: | #ifdef HAVE_SYS_TYPES_H | # include <sys/types.h> | #endif however right now the AC_CHECK_FUNCS are in alphabetical order so things like sys/types.h don't get checked until quite late. If we check these things first it's probably a bit more likely to avoid this class of problems across the board. Does this patch help? You will need to run "autoreconf" to rebuild configure after applying.> let's see how the build goes, when the new openssl has finshed testing the > build went > fine so far - shared library support is still missing - but we'll see -:)In general, as long as a) someone is willing to do the work and b) it does not compromise support of modern platforms I'm happy to accept patches to support retrocomputing systems :-) diff --git a/configure.ac b/configure.ac index 0b399ce..e97565a 100644 --- a/configure.ac +++ b/configure.ac @@ -365,6 +365,16 @@ AC_ARG_WITH([Werror], ] ) +# Standard system headers used by AC_CHECK_FUNCS, sys ones first. +AC_CHECK_HEADERS([ \ + sys/types.h \ + sys/stat.h \ + stdint.h \ + string.h \ + strings.h \ + unistd.h \ +]) + AC_CHECK_HEADERS([ \ blf.h \ bstring.h \ @@ -399,7 +409,6 @@ AC_CHECK_HEADERS([ \ sha2.h \ shadow.h \ stddef.h \ - stdint.h \ string.h \ strings.h \ sys/audit.h \ @@ -414,7 +423,6 @@ AC_CHECK_HEADERS([ \ sys/prctl.h \ sys/pstat.h \ sys/select.h \ - sys/stat.h \ sys/stream.h \ sys/stropts.h \ sys/strtio.h \ @@ -426,7 +434,6 @@ AC_CHECK_HEADERS([ \ tmpdir.h \ ttyent.h \ ucred.h \ - unistd.h \ usersec.h \ util.h \ utime.h \ -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
Klaus Ziegler - owner of sunfreeware.de
2016-Feb-05 14:04 UTC
configure warning on SunOS 4.1.4
On 05.02.16 03:38, Darren Tucker wrote:> On Mon, Feb 01, 2016 at 12:52:35AM +0100, Klaus Ziegler - owner of sunfreeware.de wrote: > [...] >> "/usr/include/sys/audit.h", line 189: syntax error before or at: blabel_t >> "/usr/include/sys/audit.h", line 189: cannot recover from previous errors > Does sys/types.h pull in the required headers? The configure tests do > this kind of thing: > > | #ifdef HAVE_SYS_TYPES_H > | # include <sys/types.h> > | #endif > > however right now the AC_CHECK_FUNCS are in alphabetical order so things > like sys/types.h don't get checked until quite late. If we check these > things first it's probably a bit more likely to avoid this class of > problems across the board. > > Does this patch help? You will need to run "autoreconf" to rebuild > configure after applying. > > In general, as long as a) someone is willing to do the work and b) it > does not compromise support of modern platforms I'm happy to accept > patches to support retrocomputing systems :-)Hi Darren, cool, this realy sounds like you are my man. Thanks a lot for the patch - I implemented it directly in configure, so no need to build all the autoconf tools on that platform, unfortunately your patch does not help, I still need to include <sys/label.h> in sys/audit.h to pass the test. For the time being I can live with that. More important are these - the first error where the build bails out is this: acc -Xa -D__SYS5__ -D__EXTENSIONS__ -xCC -cg92 -fast -nolibmil -xO4 -I. -I.. -I. -I./.. -DSUNOS4 -DHAVE_CONFIG_H -c bsd-statvfs.c "bsd-statvfs.c", line 31: warning: dubious tag declaration: struct statfs "bsd-statvfs.c", line 33: improper member use: f_bsize "bsd-statvfs.c", line 34: improper member use: f_bsize "bsd-statvfs.c", line 35: improper member use: f_blocks "bsd-statvfs.c", line 36: improper member use: f_bfree "bsd-statvfs.c", line 37: improper member use: f_bavail "bsd-statvfs.c", line 38: improper member use: f_files "bsd-statvfs.c", line 39: improper member use: f_ffree "bsd-statvfs.c", line 40: improper member use: f_ffree "bsd-statvfs.c", line 42: undefined struct/union member: f_flags "bsd-statvfs.c", line 43: undefined symbol: MNAMELEN "bsd-statvfs.c", line 50: incomplete struct/union/enum statfs: fs "bsd-statvfs.c", line 55: warning: argument #2 is incompatible with prototype: prototype: pointer to struct buf {} : "bsd-statvfs.c", line 31 argument : pointer to struct statfs {} "bsd-statvfs.c", line 68: incomplete struct/union/enum statfs: fs "bsd-statvfs.c", line 73: warning: argument #2 is incompatible with prototype: prototype: pointer to struct buf {} : "bsd-statvfs.c", line 31 argument : pointer to struct statfs {} gmake[1]: *** [bsd-statvfs.o] Error 2 this is happens, because SunOS4 does not have <sys/statfs.h> nor <sys/fstatfs.h>, but it has <sys/vfs.h> in which "struct statfs" can be found - but not completely as required by bsd-statvfs.c, it misses struct/union member: f_flags. The following patches fix this: --- openbsd-compat/bsd-statvfs.c.orig 2016-01-14 02:10:45.000000000 +0100 +++ openbsd-compat/bsd-statvfs.c 2016-02-05 14:26:52.000000000 +0100 @@ -20,6 +20,11 @@ #if !defined(HAVE_STATVFS) || !defined(HAVE_FSTATVFS) +#ifdef SUNOS4 +#include <sys/vfs.h> +#define MNAMELEN 90 +#endif + #include <sys/param.h> #ifdef HAVE_SYS_MOUNT_H # include <sys/mount.h> --- /usr/include/sys/vfs.h.orig 1994-10-14 20:29:59.000000000 +0100 +++ /usr/include/sys/vfs.h 2016-02-05 14:50:15.000000000 +0100 @@ -92,7 +92,7 @@ long f_files; /* total file nodes in file system */ long f_ffree; /* free file nodes in fs */ fsid_t f_fsid; /* file system id */ - long f_spare[7]; /* spare for later */ + long f_flags; /* spare for later */ }; question is for what is f_flags for? - or more important in sys/vfs.h: "long f_spare[7]; /* spare for later */". I could not find f_flags in any newer Solaris releases (checked 2.4/2.6 8 and 10). Hey, I don't mind building autoconf tools - just tell me which releases you use. Thanks much in advance Best Reagrds Klaus -- Tel: (++49 6105) 968846 Klaus Ziegler Mobil: (++49 172) 3064445 Zeppelinstrasse 3 mailto: klausz at haus-gisela.de D-64546 Walldorf-Moerfelden http://www.haus-gisela.de/~klausz