cross-compiling difficulty with on-the-fly gen/build/use paradigm

John Baron john.baron at schneider-electric.com
Fri Aug 17 20:19:48 UTC 2012


I'm having a problem trying to cross-compile audit.  The problem is that 
gen_actiontabs_h is built using the cross-compiler (for ARM), and then it's 
asked to run on the host (x86_64).  [I've seen some discussion of cross-
compiling, but this issue hasn't been brought up, AFAICT]

make  all-recursive
make[1]: Entering directory `/src/blah-blah/external-3rdparty/audit'
Making all in lib
make[2]: Entering directory `/src/blah-blah/external-3rdparty/audit/lib'
arm_v5t_le-gcc -DHAVE_CONFIG_H -I. -I.. -I. -I.. -I../auparse  -I/include -
I/include -L/lib -fPIC -DPIC -D_GNU_SOURCE '-DTABLE_H="actiontab.h"' -g -O2 -MT 
gen_actiontabs_h-gen_tables.o -MD -MP -MF .deps/gen_actiontabs_h-gen_tables.Tpo 
-c -o gen_actiontabs_h-gen_tables.o `test -f 'gen_tables.c' || echo 
'./'`gen_tables.c
mv -f .deps/gen_actiontabs_h-gen_tables.Tpo .deps/gen_actiontabs_h-gen_tables.Po
/bin/sh ../libtool --tag=CC   --mode=link arm_v5t_le-gcc -fPIC -DPIC -
D_GNU_SOURCE '-DTABLE_H="actiontab.h"' -g -O2  -L/lib -L/lib -o gen_actiontabs_h 
gen_actiontabs_h-gen_tables.o  
libtool: link: arm_v5t_le-gcc -fPIC -DPIC -D_GNU_SOURCE -
DTABLE_H=\"actiontab.h\" -g -O2 -o gen_actiontabs_h gen_actiontabs_h-
gen_tables.o  -L/lib
./gen_actiontabs_h --lowercase --i2s --s2i action > actiontabs.h
/bin/sh: ./gen_actiontabs_h: cannot execute binary file
make[2]: *** [actiontabs.h] Error 126
make[2]: Leaving directory `/src/blah-blah/external-3rdparty/audit/lib'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/src/blah-blah/external-3rdparty/audit'
make: *** [all] Error 2

Is there a simple way around this?  A complex way, perhaps?  Extra points for 
simple!

Thanks
- John




More information about the Linux-audit mailing list