Well I've run across a very weird thing today and I don't know if its something to do with my OS or Virtualization. I've been running game-server binaries and they've always worked. A simple ./binary +parameters does the job pretty well but today I wanted to copy all the stuff to a VPS I recently bought. It was same as before, Debian ( XEN ). So on the new VPS when I do ./binary without any permissions, it would say permission denied. Now this is pretty much logical because I have to do a "chmod a+x" on the file for that to work but even after its done, it says "File Missing" although it runs perfectly well on the other machine. What could be wrong?
Asked
Active
Viewed 222 times
0
-
You're likely missing some library the binary depends on. Anyway, the question is off-topic. – cjc Sep 11 '12 at 16:45
-
Run the file with strace as in strace binary. You should see what file it is trying and failing to access. – Zoredache Sep 11 '12 at 16:52
-
More than offtopic I'd say he just doesn't know what he actually wants to ask... – Luke404 Sep 11 '12 at 18:58
-
Libraries are not missing. The strace output shows http://paste.ubuntu.com/1200916/ – Asad Moeen Sep 12 '12 at 17:18
1 Answers
1
If the binary depends on some loadable library that is missing from your new server, it usually says so like this:
error while loading shared libraries: libfoobar.so.42: cannot open shared object file: No such file or directory
but I'm not sure this is a general / standardized message.
You can check dynamic linking with the ldd(1)
tool and look for unresolved libs (they are usually marked by "=> not found"
)
On the other hand, maybe your binary is loading and starting without any problem, and it is simply checking for some files it wants and doesn't find them, and it is your binary (not the dynamic lib loader) that is printing that message. If you don't get any other message other than "File Missing" I suspect this is what's happening to you and you should go look your binary documentation (if it has any).

Luke404
- 5,826
- 4
- 47
- 58
-
Okay what I'm actually doing is that the binary itself just needs a single library file so with ldconfig I've just set it to the dir where the lib resides. Works good on the previous server but not on this server so this might not be a missing library causing the issue. P.S : The message is "-bash: ./file: No such file or directory" I've also tried copying the lib to the default lib dir for no good. – Asad Moeen Sep 12 '12 at 17:16
-
Yours is not a library problem nor a binary executable problem, and reporting the exact output in your question would have made it obvious form the start. You have a problem in a bash script. – Luke404 Sep 12 '12 at 22:40
-
But then the output from your comment here is not coherent with the strace your pasted above. All in all, linux *is* starting whatever you're trying to run, the problem lies in your software so you should seek for help in its documentation/community/vendor/whatever. Good luck. – Luke404 Sep 12 '12 at 22:43
-
Yeah but why would the binary work on other Linux machines with exactly the same OS and libraries? Its actually just a Game Executable converted from a Windows version of the game so there are no documentations sadly. – Asad Moeen Sep 13 '12 at 15:45
-
1I don't know, but I do know it is nothing related to this question. Comments are not for follow-up questions, please see the FAQ. – Luke404 Sep 13 '12 at 17:59