"No such file" when running a 32-bit program on a 64-bit system
Solution 1:
You're missing 32-bit support. Install libc6:i386
, i.e. the 32-bit base library package, and all the other 32-bit libraries that Chrome needs (it's likely to be close to the dependencies of the Chromium package).
When you fail to execute a file that depends on a “loader”, the error you get may refer to the loader rather than the file you're executing.
- The loader of a dynamically-linked native executable is the part of the system that's responsible for loading dynamic libraries. It's something like
/lib/ld.so
or/lib/ld-linux.so.2
, and should be an executable file. - The loader of a script is the program mentioned on the shebang line, e.g.
/bin/sh
for a script that begins with#!/bin/sh
.
The error message is rather misleading in not indicating that the loader is the problem. Unfortunately, fixing this would be hard because the kernel interface only has room for reporting a numeric error code, not for also indicating that the error in fact concerns a different file.
Once you install the 32-bit dynamic loader /lib/ld-linux.so.2
, which is in the libc6:i386
package, you will at least get a non-misleading error message telling you of the other missing libraries.
Solution 2:
The fastest way to get to Gilles' solution is to install ia32-libs-multiarch. While this does pull in a lot of packages, it saves you the time to figure out all the different dependencies.