Hello,
I've researched this problem online but have not found an acceptable solution.
When cross-compiling Apache 2.2.3 on Linux, the build fails:
./gen_test_char > test_char.h
/bin/sh: ./gen_test_char: cannot execute binary file
make[2]: *** [test_char.h] Error 126
I'm using a MIPS GCC 3.3.2/GLIBC 2.3.2 cross-compiler on an x86 host machine, but believe this problem
exists for ARM, PowerPC, etc.
From various postings, this appears to be a well known failure where despite adding CC_FOR_BUILD and/or HOST_CC
on the ./configure line, server/gen_test_char.c is always compiled using the target compiler, not the host compiler.
Note: A similar problem exists with srclib/pcre/dftables.c, but by downloading and building a standard PCRE 5.0
distribution separately, you can avoid that failure.
The only workarounds I've found for gen_test_char are:
Option 1 - Install the toolchain and all of the source code to the target system and build natively.
Option 2 - Copy the gen_test_char executable (along with dependent share libraries, if necessary) to the target,
create the test_char.h file, copy it back to the host system, then resume make.
Option 3 - Build Apache first natively on the host system, saving the test_char.h file for Option 2.
Since I'm trying to automate the build, are there alternative solutions that don't involve a working target and allow the configure
and make process to run cleanly?
Thanks,
Larry Stefani
lstefani@xxxxxxxxxxxxxxxx