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.