Cross compiling X using CROSSCOMPILEDIR

Oct 13, 2004 2 Replies

I'm trying to cross compile X11 using the "new"scheme" using a Red Hat



7.3 X86 host and a PowerPC target. I've tried X11R6.8.1 from x.org and
4.3.0 from xfree86.org and the result is the same.

make World CROSSCOMPILEDIR=/pathtomyppc/bin 2>&1 | tee World.log



This results is the following



cd ./config/imake && make -f Makefile.ini BOOTSTRAPCFLAGS=¨ CC="cc"clean make[1]: Entering directory `/mysourcepath/build/config/imake' rm -f ccimake imake.o imake rm -f *.CKP *.ln *.BAK *.bak *.o core errs ,* *~*.a tags TAGS make.log \#* rm -f -r Makefile.proto Makefile Makefile.dep bootstrap rm -f imakemdep_cpp.h make[1]: Leaving directory `/mysourcepath/build/config/imake' make Makefile.boot make[1]: Entering directory `/mysourcepath/build' cd ./config/imake && make -w -f Makefile.ini BOOTSTRAPCFLAGS=¨ CC="cc" make[2]: Entering directory `/mysourcepath/build/config/imake' making imake with BOOTSTRAPCFLAGS= and CROSSCOMPILEFLAGS=-DCROSSCOMPILEDIR="/pathtomyppc/bin"in config/imake cc -o ccimake -DCROSSCOMPILEDIR=\"/pathtomyppc/bin\" -O -I../../include -I../../imports/x11/include/X11 ccimake.c if [ -n "/pathtomyppc/bin"] ; then \ /pathtomyppc/bin/cc -E `./ccimake`\ -DCROSSCOMPILE_CPP imakemdep.h > imakemdep_cpp.h; \ else touch imakemdep_cpp.h; fi /bin/sh: /pathtomyppc/bin/cc: No such file or directory make[2]: *** [imakemdep_cpp.h] Error 127 make[2]: Leaving directory `/mysourcepath/build/config/imake' make[1]: *** [imake.proto] Error 2 make[1]: Leaving directory `/mysourcepath/build' make: *** [World] Error 2



Now the problem is that my cross compiled is not called "cc"but "ppc_82xx-cpp". I tried to set CC=ppc_82xx-cpp when calling make and also tried to modify build/config/imake/Makefile.ini but this seems to result in a PowerPC bootstrap rather than a X86 bootstrap (so it can't execute the binary).



I can of of course make symbolic links from ppc_82xx-cpp to cc, but I feel that this *should* work.


1) Is this a bug in the bootstrap makefile, if not, how do I make ut use ppc_82xx-cpp and the local gcc for bootstrap? BTW I have

#define CcCmd ppc_82xx-gcc and #define HostCcCmd cc in cross.def


2) Where can I find documentation on this new method of cross compilation? I've seen some references to a document called ccimake.pdf (or something like that) when searching on Google, but the link is broken.


3) Also when compiling x.org X11R6.8.1 I always get:



xmlconfig.c:34:19: expat.h: No such file or directory xmlconfig.c:135: parse error before '*'token



Any clues?



TIA Petter


A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?

The esiest way I know is to use distccd, all you need it the crosscompiler on the X86 machine, and start the distccd daemon, compile the source from the ppc machine and tell it to use distccd and you will have both the PPC and X86 working together on the same compile (parallel build).

//Aho

Thank you for your reply. I don't want to compile anything on the PPC machine. I just want to cross compile.

Petter

A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? A: Top-posting. Q: What is the most annoying thing on usenet and in e-mail?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required