Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

This question already has an answer here:

In the past day, I've found at least 4 binaries that say "bin-name: No such file or directory" when I try to run them. Even if I type part of the name and tab complete it, I get the same error. I'm on an x86_64 architecture.

Output of file:

fez-09152013-bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=0x78612e4aac547367548dcc7cc3067c3cfcf2f177, stripped

Output of strace:

execve("./fez-09152013-bin", ["./fez-09152013-bin"], [/* 23 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fda17a000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x7f3fda17a000, 4096)            = 0
exit_group(1)                           = ?

Output of ldd:

Not a dynamic executable

Output of strings is way too long to indent, so here's a link: http://pastebin.com/t7MmugLY

apt-get error:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ia32-libs : Depends: ia32-libs-i386 but it is not installable
E: Unable to correct problems, you have held broken packages.
share|improve this question
    
If the file isn't in PATH, try ./bin-name if you are in the directory where it resides, or enter its full path : /path/to/bin-name . –  schaiba Sep 20 '13 at 21:11
    
I would also suggest running the command strings bin-name to see what the files might be –  slm Sep 20 '13 at 21:14
    
What OS? what is the output of ls -l bin-name and file bin-name and strace bin-name? –  michas Sep 20 '13 at 21:15
1  
file says dynamic and ldd says not dynamic. It could be a binary from an old ld-so version. So try that strings file | grep ld-linux. –  ott-- Sep 20 '13 at 21:34
1  
Hmmm... Could it be this issue? –  Joseph R. Sep 20 '13 at 21:35
show 5 more comments

marked as duplicate by Gilles, Anthon, slm, Renan, jasonwryan Sep 20 '13 at 23:02

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1 Answer

Very likely you have a 64-bit only system (as opposed to a multilib one) and Your dynamic loader doesn't recognise the 32-bit binary as an executable. You'll need to install 32-bit version of glibc (which includes the dynamic linker/loader - and which one that should be you can see on the first line of output of strings binary, by the way) and any other libraries the binary is linked against or a 64-bit version of the binary in question. Also see Getting "Not found" message when running a 32-bit binary on a 64-bit system for more information.

share|improve this answer
    
Indeed, running apt-get install ia32-libs could solve this. –  ott-- Sep 20 '13 at 22:22
    
@ott-- I'm getting the error I'll add to my question. If I remove testing, experimental, and unstable from my sources, will it cause problems for packages installed from there? –  tkbx Sep 20 '13 at 23:12
add comment

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