10

I have an ubuntu 10.04 64bit, and I'm trying to launch a 64 bit executable with no luck:

./lmrand1
-bash: ./lmrand1: No such file or directory    

ls -la lmrand1
-rwxr-xr-x 1 ysagon ysagon 191872 2011-09-05 18:13 lmrand1

file lmrand1
lmrand1: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked 
(uses sharedlibs), for GNU/Linux 2.6.9, stripped

I'm on a 64 bit ubuntu as well:

uname -a
Linux dev 2.6.32-33-server #72-Ubuntu SMP Fri Jul 29 21:21:55 UTC 2011 x86_64 GNU/Linux

The executable is not corrupted, I'm able to launch it on a redhat enterprise. Does someone know what is going on.

edit: sorry I have forgot to put the output of ldd

ldd lmrand1
    linux-vdso.so.1 =>  (0x00007fffabdff000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe8d176c000)
    libm.so.6 => /lib/libm.so.6 (0x00007fe8d14e9000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fe8d12d1000)
    libc.so.6 => /lib/libc.so.6 (0x00007fe8d0f4e000)
    libdl.so.2 => /lib/libdl.so.2 (0x00007fe8d0d4a000)
    /lib64/ld-lsb-x86-64.so.3 => /lib64/ld-linux-x86-64.so.2 (0x00007fe8d19a4000)
6
  • 2
    Possibly a broken dependency/runtime linker. Try ldd lmrand1 and readelf -a lmrand1|grep interpreter and make sure all the files listed exist on your system.
    – Mat
    Sep 6, 2011 at 8:29
  • see the output of ldd in my edit. readelf -a lmrand1|grep interpreter [Requesting program interpreter: /lib64/ld-lsb-x86-64.so.3]. I don't have this specific file but as you can see in the ouput of ldd, it is mapped to another file.
    – Yann Sagon
    Sep 6, 2011 at 9:17
  • 1
    Ok, I see that if I do a simlink sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3 it's working. What I don't understand is why ldd seems happy?
    – Yann Sagon
    Sep 6, 2011 at 9:23
  • You could try strace ./lmrand1 and see how far it gets.
    – waltinator
    Oct 16, 2011 at 7:25
  • To Yann Sagon: Since it's short for "Symbolic Link", the word is "symlink", not "simlink".
    – waltinator
    Oct 16, 2011 at 7:27

1 Answer 1

11

Try installing the Linux Standard Base (lsb) package.

sudo apt-get install lsb
1
  • 2
    I also experienced this problem, and installing the lsb package fixes it. It seems that the /lib64/ld-lsb-x86-64.so.3 needs to exist for the executable to be run, even though ldd quite happily remaps it to /lib64/ld-linux-x86-64.so.2 in its own output.
    – user21322
    Dec 12, 2012 at 15:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .