“No such file or directory” error when executing a binary

前端 未结 8 689
走了就别回头了
走了就别回头了 2020-11-28 01:15

I was installing a binary Linux application on Ubuntu 9.10 x86_64. The app shipped with an old version of gzip (1.2.4), that was compiled for a much older kernel:

         


        
相关标签:
8条回答
  • 2020-11-28 02:01

    You get this error when you try to run a 32-bit build on your 64-bit Linux.

    Also contrast what file had to say on the binary you tried (ie: 32-bit) with what you get for your /bin/gzip:

    $ file /bin/gzip
    /bin/gzip: ELF 64-bit LSB executable, x64-64, version 1 (SYSV), \
    dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
    

    which is what I get on Ubuntu 9.10 for amd64 aka x86_64.

    Edit: Your expanded post shows that as the readelf output also reflects a 32-bit build.

    0 讨论(0)
  • 2020-11-28 02:06

    I think you're x86-64 install does not have the i386 runtime linker. The ENOENT is probably due to the OS looking for something like /lib/ld.so.1 or similar. This is typically part of the 32-bit glibc runtime, and while I'm not directly familiar with Ubuntu, I would assume they have some sort of 32-bit compatibility package to install. Fortunately gzip only depends on the C library, so that's probably all you'll need to install.

    0 讨论(0)
提交回复
热议问题