Mips Linux GCC and no such file or directory

When I was preparing a build environment of embedded devices for automation by utilizing Docker I stumbled accross some wierdness.

1
2
root@6bbe44f514f2:/build# /build/tools/bin/mips-linux-uclibc-gcc
bash: /build/tools/bin/mips-linux-uclibc-gcc: No such file or directory

This error message came up as I called the various binaries of the toolchain. A short check for their existence delivered a positive result.

1
2
root@6bbe44f514f2:/build# file /build/tools/bin/mips-linux-uclibc-gcc
/build/tools/bin/mips-linux-uclibc-gcc: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.8, dynamically linked (uses shared libs), not stripped

My Docker host system is a 64-bit machine although.

1
2
root@6bbe44f514f2:/build# uname -a
Linux 6bbe44f514f2 3.13.0-62-generic #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 GNU/Linux

The error message is very misleading as it led me to the wrong direction first. The real cause was the missing 32-bit support through ia32-libs.

1
root@6bbe44f514f2:/build/dublin_v1.0.8/src/configuration# apt-get install ia32-libs

The use of `ia32-libs' only applies to Ubuntu versions below 11.10 (Oneiric) as from then on Multi Arch has been introduced.