GNU/Linux >> Znalost Linux >  >> Linux

Žádná taková chyba souboru nebo adresáře při spouštění binárního souboru

Odpověď je v tomto řádku výstupu readelf -a v původní otázce

  [Requesting program interpreter: /lib/ld-linux.so.2]

Chyběl mi soubor /lib/ld-linux.so.2, který je potřeba ke spuštění 32bitových aplikací. Balíček Ubuntu, který obsahuje tento soubor, je libc6-i386.


Stará otázka, ale doufám, že to pomůže někomu jinému.

V mém případě jsem používal toolchain na Ubuntu 12.04, který byl postaven na Ubuntu 10.04 (vyžaduje GCC 4.1 k sestavení). Protože se většina knihoven přesunula do adresářů s více archy, nemohla najít ld.so. Vytvořte pro něj symbolický odkaz.

Zkontrolujte požadovanou cestu:

$ readelf -a arm-linux-gnueabi-gcc | grep interpreter:
      [Requesting program interpreter: /lib/ld-linux-x86-64.so.2]

Vytvořit symbolický odkaz:

$ sudo ln -s /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 /lib/ld-linux-x86-64.so.2

Pokud používáte 32bit, bude to i386-linux-gnu a ne x86_64-linux-gnu.


Linux
  1. fatální chyba openssl/evp.h:Žádný takový soubor nebo adresář:[Vyřešeno]

  2. Nelze spustit žádný takový soubor nebo adresář [Opravit]

  3. Chyba s Program.csh (bin/csh:Bad Interpreter:Žádný takový soubor nebo adresář)?

  1. Vyloučení adresáře při vytváření souboru .tar.gz

  2. 'SDL.h nebyl nalezen žádný takový soubor nebo adresář' při kompilaci

  3. mkdir -p selže, když adresář existuje

  1. Proč ENOENT znamená Žádný takový soubor nebo adresář?

  2. Při instalaci Pillow na Alpine Linux neexistuje žádný takový soubor nebo adresář

  3. Závažná chyba:cuda.h:Žádný takový soubor nebo adresář