簡體   English   中英

無法執行二進制文件

[英]Unable to execute binary file

我最近聽說過Breach ,這是一個基於Node.js的瀏覽器。 我正在按照http://codeforgeek.com/2014/08/download-install-breach-browser-ubuntu-14-04/上的說明進行安裝,但出現以下錯誤:

違反v0.3.22-alpha.6-linux-x64 / __ AUTO_UPDATE_BUNDLE __ / exo_browser / exo_browser:無法執行二進制文件:Exec格式錯誤

經過一番谷歌搜索后,我發現這是因為我試圖在32位Ubuntu安裝上安裝64位軟件包。 我試圖找到相同的32位軟件包,但最終沒有運氣。 瀏覽器僅在64位數據包中可用(據我所知)。

所以,我的問題是:

是否可以以某種方式將其安裝在32位操作系統上,或者是否有可用的程序可以在32位操作系統上運行64位應用程序。

我一直在谷歌搜索,沒有發現任何幫助。 誰能幫我?

我正在使用Ubuntu 14.04(32位)。

謝謝

無法(直接)在32位系統上運行64位二進制文​​件。

可以嘗試使用VMWare在32位主機上運行64位Linux。 有關詳細信息,請參見此答案

另外,通過查看Breach的登錄頁面,我發現了這一點:

  if(arch === 'ia32') {
    $('#download').html('Available on <span class="fa fa-linux"></span> x64');
    $('#download').attr('href', '#');
    /*
    $('#download').html('<span class="fa fa-linux"></span>&nbsp;&nbsp; Download Breach Alpha v0.3 (ia32)');
    $('#download').attr('href', 'http://bit.ly/1kWWjmF');
    */
  }

這表明他們正在使用32位Linux支持。 也許在Twitter / Github上詢問開發人員的狀態?

我在c文件中也遇到過類似的問題。我認為這與我們使用的編譯器有關。我的內核版本是

3.13.0-40泛型

您可以通過在terminal中執行命令uname -r獲得該信息。

我有一個執行文件操作的代碼文件。 當我使用帶有適當標志的GCC並創建一個名為“ fileop”的目標文件並嘗試運行它
我收到以下錯誤。
“ bash:./fileop:無法執行二進制文件:Exec格式錯誤”
我的可執行可鏈接文件是32bit,您可以使用命令查看
“文件fileop”
fileop:可重定位的ELF 32位LSB,英特爾80386,版本1(SYSV),未剝離

但是,當我使用“ CC”而不是GCC時,它創建了一個名為a.out的out文件,我可以執行該文件而沒有任何問題。
“文件”操作產生以下輸出
a.out:ELF 32位LSB可執行文件,Intel 80386版本1(SYSV),動態鏈接(使用共享庫),用於GNU / Linux 2.6.24,BuildID [sha1] = 13b7ad302580a0c7f5c7931ec2d80155d7915fa9(未剝離)

希望以上說明能為您提供更多啟發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM