GNU/Linux >> Znalost Linux >  >> Linux

Získání chyby:bash:./program:nelze spustit binární soubor:Chyba formátu Exec

Máte 64bitový x86 CPU (označený lm příznak v /proc/cpuinfo ), ale používáte 32bitové jádro. Program, který se pokoušíte spustit, vyžaduje 64bitové běhové prostředí, takže nebude fungovat tak, jak je.

Pokud můžete najít 32bitové sestavení programu (nebo si jej sestavit sami), použijte to.

Případně můžete nainstalovat 64bitové jádro, restartovat a poté nainstalovat 64bitové knihovny požadované vaším programem.

Chcete-li nainstalovat 64bitové jádro, spusťte

sudo dpkg --add-architecture amd64
sudo apt-get update
sudo apt-get install linux-image-generic:amd64

Tím se nainstaluje nejnovější 64bitové jádro Xenial spolu s různými podpůrnými 64bitovými balíčky. Po restartu byste měli najít uname -a ukazuje x86_64 spíše než i686 . Pokud se pokusíte spustit svůj program znovu, může to prostě fungovat, nebo se zobrazí chyba kvůli chybějícím knihovnám; v druhém případě nainstalujte odpovídající balíčky (použijte apt-file abyste je našli), aby program fungoval.


Linux
  1. Zobrazuje se zpráva „nenalezeno“ při spuštění 32bitové binární verze na 64bitovém systému?

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Rozdíl mezi získáváním zdrojů („.“ nebo „zdrojem“) a spouštěním souboru v Bash?

  1. Bash =~ Regex A Https://regex101.com/?

  2. The Bash ‘?

  3. /usr/bin/ls:/usr/bin/ls:Nelze spustit binární soubor?

  1. Proč překladový soubor Bash neobsahuje všechny chybové texty?

  2. Nemůžete spouštět bash skripty ani jako root?

  3. Proč potřebujete umístit #!/bin/bash na začátek souboru skriptu?