3

I have a server machine with ubuntu 9.10. I am trying to put in place an executable, which turns out to be the latest flashplayer (debugger version).

Somehow the file appears as present and executable, but when launching it the console indicates that the files does not exist:

rodrigo@ns360773:~/t_fplayer$ pwd
/home/rodrigo/t_fplayer
rodrigo@ns360773:~/t_fplayer$ ls -lh
total 12M
-rwxr-xr-x 1 rodrigo rodrigo 12M 2011-07-09 11:35 flashplayerdebugger
rodrigo@ns360773:~/t_fplayer$ ./flashplayerdebugger
-bash: ./flashplayerdebugger: No such file or directory
rodrigo@ns360773:~/t_fplayer$ ldd flashplayerdebugger
       not a dynamic executable

using the same executable (copied via ssh) in my local machine works fine.

Any idea of what is going on? What can explain this behaviour?

Any idea how to fix this?

rodrigob
  • 133

3 Answers3

6

Check the architecture: You'll get that message running an x86 binary on an AMD64 system if you don't have compatibility libraries installed.

Also Ubuntu 9.04 is no longer updated, so you might want to update it.

2

Static or dynamic, it still makes use of a dynamically-loaded "interpreter", which on Linux is usually named ld-linux.so.VERSION. If you have an executable which requires a version of the interpreter that isn't present, as when you try to use a newer binary on an old system, you will get that error because the interpreter isn't found. (And the error message is unfortunate but not fixable unless the kernel is extended with a better error reporting API; all the shell knows is that it got ENOENT in response to execve("./flashplayerdebugger", ...).) So my guess is you're trying to run a binary compiled for Ubuntu 11.x on your old server, and that's a lost cause — you will need to get one compiled for Ubuntu 9.10.

geekosaur
  • 7,285
0

This is probably due to missing 32-bit environment. You could try to use strace to find what exacly is missing: strace ./flashplayerdebugger. You should see there some open()s for non-existent libs.

rvs
  • 4,225