"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.
Michael
Updated on September 18, 2022Comments
-
Michael over 1 year
I downloaded a Chromium snapshot and unzipped it, like this:
michael@ubuntu:/opt/chrome-linux$ ls chrome libffmpegsumo.so nacl_irt_x86_32.nexe chrome.1 libppGoogleNaClPluginChrome.so product_logo_48.png chrome_100_percent.pak locales resources chrome.pak nacl_helper resources.pak chrome_sandbox nacl_helper_bootstrap xdg-mime chrome-wrapper nacl_irt_srpc_x86_32.nexe xdg-settings
But when I try to run
chrome
, it isn't there...michael@ubuntu:/opt/chrome-linux$ ./chrome bash: ./chrome: No such file or directory
Does anyone know why it won't open? Running Xubuntu 12.10 AMD64.
michael@ubuntu:/opt/chrome-linux$ ldd /opt/chrome-linux/* | grep -i "not found" ldd: /opt/chrome-linux/locales: not regular file ldd: /opt/chrome-linux/resources: not regular file
-
Eric Carvalho over 11 yearsCan you post the download link for that Chromium snapshot?
-
Michael over 11 years
-
geethujoseph over 11 yearsIt has execution permission?
chmod +x chrome
-
Michael over 11 yearsYes, it is marked as executable.
-
Eric Carvalho over 11 yearsMaybe you're missing some libraries. Run
ldd /opt/chrome-linux/* | grep -i "not found"
. Post the results. -
Michael over 11 yearsAdded output to the question.
-
-
gertvdijk over 11 yearsYes, basically, this is just a metapackage depending on the same (or similar) set of libraries that were shipped with the
ia32-libs
package before the Multiarch change. It's fair quick solution if you don't mind the big load of 32-bit packages to be installed. I'll integrate this in my answer of another question. :) -
c_korn over 10 yearsThe problem is that the ia32-libs package is removed since Ubuntu 13.10.