Cross-compilation of lx_hybrid components

Christian Helmuth christian.helmuth at
Wed Oct 23 16:04:40 CEST 2019

Hello Roman,

On Wed, Oct 23, 2019 at 14:52:01 CEST, Roman Iten wrote:
> I use base-linux on an arm_v7a target. This works well except for
> lx_hubrid components (for example linux_nic_drv).
> On several places the toolchain, includes and libraries of the host are
> used (see repos/base-linux/lib/import/
> Do you see a way how I can cross-compile on a Linux x86_64 host for a
> Linux arm_v7a target?

My impulsive reaction to this question is plain: No, I can't imagine
this to work!

But, this is just the result of a long rocky path of adaptions that
ended in a collection of heuristics in and other
places of the build system (and base-linux sources). So theoretically,
it may work like [1] hints and from the top of my head needs work at
the following places.

- For compilation, our code base depends on genode-arm-gcc being used,
  but the heuristics in must be adapted to fit the
  cross-compilation environment (e.g., include paths for headers in
- Currently we link with 'c++'. This definitely should be
- The cross-compilation environment must include all needed headers,
  linker scripts, libraries, and tools for the cross target.
- repos/base-linux/src/lib/lx_hybrid (resp.
  repos/base-linux/lib/mk/ may need ARM-specific
- general Linux wizardry including the implications of the following
  (for Ubuntu)

  > apt depends gcc-7-arm-linux-gnueabihf
  Suggests: libgcc1-dbg-armhf-cross
  > apt show libc6-dev-armhf-cross
  Contains the symlinks, headers, and object files needed to compile
  and link programs which use the standard C library.


Unfortunately, I can't help further in this regard.

Christian Helmuth
Genode Labs · · /ˈdʒiː.nəʊd/

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list