Hi Daniel,
Looks like the problem is only specific to .. ./os/src/drivers/audio_out ./os/src/drivers/nic
everything else builds 32bit version on 64bit host platform.
These targets alongside 'os/src/drivers/framebuffer/sdl' are hybrid programs using both the Genode framework as well as native Linux libraries. The 'audio_out' "driver" translates Genode's 'Audio_out_session' to ALSA, 'nic' translates Genode's 'Nic_session' to a Linux tap device, and 'fb_sdl' translates Genode's 'Framebuffer_session' and 'Input_session' to libSDL. Because of their hybrid nature, those programs are built without the '-nostdlib' switch. This way, the libraries at '/usr/lib' end up in those binaries.
It looks like I need to add -m32 -L/usr/lib32 to the linux-compiled build flags - not sure how to do this, CC_OPT doesn't seem to percolate through.
Normally, 'CC_OPT' is the right variable to use. However, I would not specify those arguments globally (hence, a spec-file is the wrong place for them). They should exceptionally be used for hybrid targets only. Can you successfully build 'audio_out' by adding those arguments to 'CC_OPT' in its 'target.mk' file?
Best regards Norman