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

Miloslav Trmac mitr at redhat.com
Mon Aug 20 16:47:06 UTC 2012


----- Original Message -----
> 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).

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

The simplest way for users of released tarballs would be to include the generated files inside the tarball - from a quick look that should be really simple, but it also doesn't help users of svn checkouts.

Then there are two more complex ways:
* Add the necessary build machinery: find a local C compiler, and use custom Make rules to build these tools.  Unfortunately it seems that autotools don't provide a direct way to do this, some internet forums suggest creating a subdirectory with its own "./configure" script that is configured to build for the "build host" even when cross-compiling.
* Rewrite the gen_tables.c code in an interpreted language, e.g. Python or Perl - adds a build dependency on that language, but avoids this problem.

In all of the cases above I'm worried about ABI differences - e.g. the build and host architecture having a different integer assigned to SHMGET or any of the other macros.  I haven't checked whether that is really a problem, though.  That might ultimately require the rewrite into an interpreted language (so that headers from the build and host systems wouldn't be mixed).  


Of course it would also always work to build the tables at run-time, but I suspect that would be a bit frowned upon.
    Mirek




More information about the Linux-audit mailing list