Bash: ./filename: İkili dosya çalıştırılamıyor


37

Ubuntu 11.10 32 bit'te bir fortran derlenmiş kodunu çalıştıramadım.

Hata mesajı

bash: ./filename : Cannot execute binary file.

Ben de gcc ve gfortran kütüphanelerini kurdum.

Biri yardım edebilir mi?

$ file um
um: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not stripped 

6
Lütfen file filenamesonuçları yazıp rapor edin.
Ocak

dosyaadı um.exe ve sonuç bash: ./um ikili dosyayı
yürütemiyor

2
Bu bir yerli Linux programına benzemiyor. Şarap kullanmayı dene.
Lekensteyn

bu çalıştırılabilir kod, bir dizi fortran kodunu derleyen bir make file dosyası kullanılarak derlenir. bu exe fötr makinede yapılır
user87654

1
Lütfen file um.exeveya yazın file um(hangisi ikili dosyanızın adıdır). Ancak, oluşturulan ikili dosyalar muhtemelen bir nedenden veya diğer Windows ikili dosyalarındandır. Ayrıca, program herkese açıksa, bağlantıyı kaynaklara gönderebilirsiniz. Veya makefile'i buraya yazmanız yeterli.
Ocak

Yanıtlar:


38

file umBir yorumda gönderdiğinizin çıktısından görebileceğiniz gibi , ikili sisteminiz 64-bit bir ikilidir.

32 bit sistemler 64 bit ikili dosyaları çalıştıramaz, yalnızca tersi yönde çalışır.


3
Bu, bu problem için gördüğüm en yaygın neden, kullanımı fileoldukça hızlı bir şekilde tanımlayacağız.
mikebabcock

Yani bunun bir çözümü yok mu?
JohnMerlino

@JohnMerlino Her ikisi de Donanım'a doğru komut setini ve onu etkinleştiren bir işletim sistemi sunar (AMD64 Donanım ve AMD64 Programları için İşletim Sistemi). veya benzetin / öykünün / sanallaştırın (Sanal Kutu / JVM / ...) veya talimat setiniz için bir sürüm edinin. Yerel Programlar olarak ayarlanan Diğer Talimatlar için Yazılım'ı çalıştıramazsınız.
12431234123412341234123

3

Dosyayı çalıştırılabilir yapmayı deneyin

chmod +x um.exe

O zaman çalıştırmayı dene

./um.exe

Ancak bu, Windows için derlenmiş bir exe dosyasıysa, muhtemelen Wine'ı yüklemeniz gerekir.


3

Eşleşmeyen bitler hariç, bu sorunu yaşayan insanlar için başka bir çözüm, dosyayı "bash" komutu olmadan çalıştırmaktır.

Sadece kullan chmod +x 'path to the file've 'the path to the file'terminalde çalıştır . Sorunumu bu şekilde çözdüm.


0

Bu hatanın olası bir başka kaynağı: Mac'te yürütülebilir bir Linux ikili dosyasını çalıştırmaya çalışmak veya bunun tersi.

Örneğin, trueikili dosyayı Mac'imden SCP'lemiş olduğum bir Ubuntu kutusunda çalıştırmayı denemek:

$ ./mactrue 
-bash: ./mactrue: cannot execute binary file: Exec format error

Bir ikili dosya indirdiyseniz ve bu hatayla çalışmazsa, yanlış işletim sistemi için sürüm indirilip indirilmediğini kontrol edin.


0

Benim için, ikili dosyayı Mac'imdeki Uygulamalar’a sonra da Path’e kopyalamak Mac’imdekileri berbat etti. Uygulamalar klasörünün ikiliyi gerçek bir ikili yerine bir Diğer Ad'a dönüştürdüğünden eminim.

-bash: /usr/local/bin/terraform: cannot execute binary file
mike$ file /usr/local/bin/terraform 
/usr/local/bin/terraform: MacOS Alias file

İkili dosyayı tekrar Yüklemelerimden çıkardım ve mvYoluma yükledim ve iyi çalıştı.

mike$ file /usr/local/bin/terraform
/usr/local/bin/terraform: Mach-O 64-bit executable x86_64
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.