On Mon, 23 Feb 2015, Tom G. Christensen wrote:> On 23/02/15 20:31, Damien Miller wrote: > > Thanks - I just committed a fix: > > > <snip patch> > > Thanks, unfortunately you missed the one in packet.h. > > In file included from ssh_api.h:31:0, > from ssh_api.c:21: > packet.h:38:23: fatal error: sys/queue.h: No such file or directory > #include <sys/queue.h> > ^ > compilation terminated. > gmake: *** [ssh_api.o] Error 1 > > Fixing that I run into the missing sig_atomic_t that I see you posted a patch > for earlier. > > Next issue is unconditional include of <stdint.h> in xmalloc.c: > xmalloc.c:19:20: error: stdint.h: No such file or directory > > Solaris < 10 does not have stdint.h, it actually only fails on Solaris 2.6 > because it is limited to gcc 4.3.6 which does not provide a stdint.h > replacement (this was introduced with gcc 4.4).Thanks - I just committed fixes for both of these -d
On 23/02/15 23:05, Damien Miller wrote:> Thanks - I just committed fixes for both of these >Thank you. I've switched to HEAD in the git repo and it now builds on Solaris 2.6, 7, 8 and 9 but the testsuite still cannot be built due to the missing <err.h>. I noticed one of the changes was about HOST_NAME_MAX but I don't think that change addresses the real issue on at least these old Solaris systems. It looks to me like the fall back in defines.h was not activated because Solaris has MAXHOSTNAMELEN in <netdb.h> which has not been included when defines.h tries to find a fall back HOST_NAME_MAX. Looking at sshd.c with gcc -dD -E confirms it as defines.h now set HOST_NAME_MAX to 255 and later <netdb.h> is included which then defines MAXHOSTNAMELEN to 256. I don't know if it would be reasonable to include <netdb.h> from includes.h but that would make HOST_NAME_MAX fall back to MAXHOSTNAMELEN on at least Solaris < 10. -tgc
On Tue, 24 Feb 2015, Tom G. Christensen wrote:> I've switched to HEAD in the git repo and it now builds on Solaris > 2.6, 7, 8 and 9 but the testsuite still cannot be built due to the > missing <err.h>. > > I noticed one of the changes was about HOST_NAME_MAX but I don't > think that change addresses the real issue on at least these old > Solaris systems. It looks to me like the fall back in defines.h > was not activated because Solaris has MAXHOSTNAMELEN in <netdb.h> > which has not been included when defines.h tries to find a fall back > HOST_NAME_MAX. > > Looking at sshd.c with gcc -dD -E confirms it as defines.h now set > HOST_NAME_MAX to 255 and later <netdb.h> is included which then > defines MAXHOSTNAMELEN to 256. > > I don't know if it would be reasonable to include <netdb.h> > from includes.h but that would make HOST_NAME_MAX fall back to > MAXHOSTNAMELEN on at least Solaris < 10.I guess we could do this: diff --git includes.h includes.h index c3034e3..ec74998 100644 --- includes.h +++ includes.h @@ -171,6 +171,8 @@ #include <openssl/opensslv.h> /* For OPENSSL_VERSION_NUMBER */ #endif +#include <netdb.h> /* For MAXHOSTNAMELEN */ + #include "defines.h" #include "platform.h"