Can't execute some binaries in chroot environment (zsh: Not found)
Today I ran into something that has me stumped. A co-worker is working with a specific pre-compiled binary he downloaded (available here). On the Ubuntu 10.04 LTS Server he's working on, attempting to execute this file yields file-not-found, even with permissions set right.
And yet, when I attempt the same thing from OpenSUSE 11.4, it runs just fine. Running
file on it gives me:
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
Both the Ubuntu and OpenSUSE boxes are 64-bit installs, and
file returns the same information on both machines.
Which looks just fine to me. And on the opensuse box, LDD even gives me a short list of library files. Hand checking, all of those specified files also exist on the Ubuntu server. Strace output is different though:
execve("./trid", ["./trid"], [/* 122 vars */]) = 0
Ubuntu (giving full path does not change result):
execve("./trid", ["./trid"], [/* 19 vars */]) = -1 ENOENT (No such file or directory)
What can cause a file like this to not be executable in this way?