6

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
| improve this question | | | | |
6

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.

| improve this answer | | | | |
1

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.

| improve this answer | | | | |
  • Yes, 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. :) – gertvdijk Jan 24 '13 at 13:13
  • The problem is that the ia32-libs package is removed since Ubuntu 13.10. – c_korn Oct 12 '13 at 15:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.