The cross-compilation will be performed on a server running: Linux Splinter 2.6.32-5-686 #1 SMP Tue May 13 16:33:32 UTC 2014 i686 GNU/Linux The 5 targets I need to make for are:
The compiler (script) used to do the cross compile is qcc99: #! /bin/sh qcc -Wc,-std=gnu99 "$@" The configuration settings used for SSH for the same 5 targets are:
./configure --with-privsep-user=sshd --host=powerpc-unknown-nto-qnx6.5.0 --build=x86 --prefix= CC='qcc99 -V4.4.2,gcc_ntoppcbespe' CPPFLAGS="-I$HOME/qnx650-ppcbespe/include
-D_XOPEN_SOURCE=600 -D_QNX_SOURCE" CFLAGS='-g -O2 -me500v2' LDFLAGS="-L$HOME/qnx650-ppcbespe/lib -static"
./configure --with-privsep-user=sshd --host=powerpc-unknown-nto-qnx6.5.0 --build=x86 --prefix= CC='qcc99 -V4.4.2,gcc_ntoppcbe' CPPFLAGS="-I$HOME/qnx650-ppcbe/include
-D_XOPEN_SOURCE=600 -D_QNX_SOURCE" CFLAGS='-g -O2' LDFLAGS="-L$HOME/qnx650-ppcbe/lib -static"
./configure --with-privsep-user=sshd --host=i486-pc-nto-qnx6.5.0 --build=x86 --prefix= CC='qcc99
-V4.4.2,gcc_ntox86' CPPFLAGS="-I$HOME/qnx650-x86/include -D_XOPEN_SOURCE=600 -D_QNX_SOURCE" CFLAGS='-g -O2' LDFLAGS="-L$HOME/qnx650-x86/lib -static"
./configure --with-privsep-user=sshd --host=powerpc-unknown-nto-qnx6.3.0 --build=x86 --prefix= CC='qcc99
-V3.3.5,gcc_ntoppcbe' CPPFLAGS="-I$HOME/qnx632-ppcbe/include -D_XOPEN_SOURCE=600 -D_QNX_SOURCE" CFLAGS='-g -O2' LDFLAGS="-L$HOME/qnx632-ppcbe/lib -static"
./configure --with-privsep-user=sshd --host=i386-pc-nto-qnx6.3.0 --build=x86 --prefix= CC='qcc99
-V3.3.5,gcc_ntox86' CPPFLAGS="-I$HOME/qnx632-x86/include -D_XOPEN_SOURCE=600 -D_QNX_SOURCE" CFLAGS='-g -O2' LDFLAGS="-L$HOME/qnx632-x86/lib -static" Note that QNX 6.5.0 uses the GCC Version 4.4.2
compiler and QNX 6.3.2 uses the GCC Version 3.3.5
compiler. In both cases, it is invoked with QCC, not GCC. I downloaded and tried to make SSH version 8.8. After configuring it and running make, I eventually get the following error: qcc99 -V4.4.2,gcc_ntoppcbespe -g -O2 -me500v2 -Wall -Wextra -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -Wno-unused-parameter -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -ftrapv -fno-builtin-memset -fstack-protector-all
-fPIC -I. -I.. -I. -I./.. -I/home/williams/ssh/qnx650-ppcbespe/include -D_XOPEN_SOURCE=600 -D_QNX_SOURCE -DHAVE_CONFIG_H -c openssl-compat.c In file included from openssl-compat.c:32: openssl-compat.h:37:3: error: #error OpenSSL 1.0.1 or greater is required cc: /opt/qnx650/host/linux/x86/usr/lib/gcc/powerpc-unknown-nto-qnx6.5.0/4.4.2/cc1 error 1 make[1]: *** [openssl-compat.o] Error 1 make[1]: Leaving directory `/home/williams/ssh/qnx650-ppcbespe/openbsd-compat' make: *** [openbsd-compat/libopenbsd-compat.a] Error 2 In response, I downloaded OPENSSL Version 1.1.1l. I have no idea how to configure this to make it cross-compile for the 5 targets I need the libraries for versus compiling for the server I am compiling on. If someone can help me configure
this for one of the targets, I can manage to do it for the other 4 four. |