2011-11-11 15 views
0

我在FreeBSD上編譯的應用程序(我沒有源代碼),當我輸入./app它是在FreeBSD正常運行,但在Debian我在控制檯得到這個消息:來自Debian的FreeBSD不兼容的應用程序?

-bash: ./app:沒有這樣的文件或目錄

當然,我和'app'應用程序在同一個目錄下。

我不能留在FreeBSD上,因爲我更喜歡Debian。無論如何,是否可以在Debian上運行這個應用程序?

回答

1

這是非常不可能的,但可能的。在最壞的情況下,你應該在Debian機器上重新編譯你的應用程序。

此外,請確保您在./app文件上有執行標誌。

+0

我無法重新編譯,因爲我沒有源代碼。 – Cyclone

+0

不幸的是,沒有什麼可以做的,那麼。 FreeBSD和Debian ABI有很多差異。 – arrowd

+0

那就好了。謝謝您的回覆。 – Cyclone

2

FreeBSD和Linux都使用ELF格式作爲可執行文件,但它們有不同的ABI。

FreeBSD可以使用linux兼容層(aka linuxulator)執行Linux可執行文件,但linux(Debian在你的情況下)不支持FreeBSD ABI for ELF。

您需要重新編譯專門用於linux的應用程序。