Title: Cross-compilation problem with Apache 2.2.3

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
[EMAIL PROTECTED]

Reply via email to