I am making for QNX 6.3.2 on a Linux server. I have two copies of OpenSSH (and OpenSSL): one to make for a PPC target and one for an X86 target: ./configure --build=i686-pc-linux-gnu --host=powerpc-unknown-nto-qnx6.3.0 --prefix= CC=ntoppc-gcc CFLAGS='-fPIC -I/home/williams/openss/openssl/ppc/install/include' LDFLAGS='-L/opt/qnx632/target/qnx6/ppcbe/lib -L/opt/qnx632/target/qnx6/ppcbe/usr/lib -L/home/williams/openss/openssl/ppc/install/lib' --sysconfdir=/etc/ssh ./configure --build=i686-pc-linux-gnu –host=i386-pc-nto-qnx6.3.0 --prefix= CC=ntox86-gcc CFLAGS='-fPIC -I/home/williams/openss/openssl/x86/install/include' LDFLAGS='-L/opt/qnx632/target/qnx6/x86/lib -L/opt/qnx632/target/qnx6/x86/usr/lib -L/home/williams/openss/openssl/x86/install/lib' --sysconfdir=/etc/ssh The file monitor_fdpass.c cannot find the file poll.h since it is in the /usr/include/sys directory. The HAVE_POLL_H is not defined and HAVE_SYS_POLL_H is defined; both are correctly set. mux.c, scp.c, monitor.c, atomicio.c all say: #ifdef HAVE_POLL_H #include <poll.h> #else # ifdef HAVE_SYS_POLL_H # include <sys/poll.h> # endif #endif The only file that does not say this is monitor_fdpass.c which says: #ifdef HAVE_POLL_H #include <poll.h> #endif and, of course, it cannot find poll.h for my system for that reason. I modified this .c file to match the others to get the system to compile and I think this should apply to the general distribution as well.
I just committed a fix to monitor_fdpass.c that uses sys/poll.h if poll.h doesn't exist. This will be in OpenSSH 6.7 - thanks!
*** Bug 2260 has been marked as a duplicate of this bug. ***
Close all bugs left open from 6.6 and 6.7 releases.