4

Possible Duplicate:
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:

Opensuse:

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?

1 Answers1

1

Type

ldd ./trid

both on the openSuse and Ubuntu system.

I suspect you'll find that the latter is missing a library file.