[Rock-dev] Cross-Compilation with Rock in QEMU

Chris Mueller christoph.mueller at dfki.de
Fri Oct 19 16:00:44 CEST 2012


Hio,

Thomas has made some really good steps setting up an autoproj 
environment for cross-compilation to arm-processors
via Virtual Box / QEMU that massively speed ups development and cross 
compilation for our gumstix.

I'm currently tackling a segmentation fault after an "autoproj build" 
command within QEMU where you might help

Here are some observations:

1) cmake .. / make install on an individuell package runs smoothly.

2) The failure occurs rapidly using amake PACKAGE / autoproj build PACKAGE

3) I couldn't load and run the core file via gdb because gdb complains 
about an unknown file format for the core.

4) I've installed ruby-debug19 now in the environment to analyse the 
workflow in autobuild for that case and have some
very weird occurance of this fault depending on my breakpoints in 
ruby-debug.

- sometimes one phase (configure/build) for a single package works and 
fails in the successor package

- in another run (currently now) it configures/builds mysteriously each 
package without problems in one run.

- Even multiagent/fipa_acl is built that consumes a very large amount of 
memory (which is a good hint the memory resources
provided by QEMU should be sufficient).

After stepping through the source code I have the conclusion this error 
could eventually arise due to some multi-threading
issues, because autobuild generates a dependency graph, creates at 
runtime a dynamical rakefile structure for it and distribute the
rake tasks to a concurrent task processor for invoking the jobs in parallel.
(class RakeTaskParallelism in autobuild-1.6.1/lib/autobuild/parallel.rb)

Are there currently some known concurrency problems in autoproj / 
autobuild?

I'm using autobuild 1.6.1 and autoproj 1.8.1

Setting Autobuild.parallel_build_level = 1 in autoproj/init.rb seems to 
have no effect.

Chris



More information about the Rock-dev mailing list