2010-01-17 34 views
0

我在Linux上發佈一個靜態鏈接的二進制版本的應用程序。但是,在2.4內核的系統上,我在啓動時遇到了段錯誤,並且顯示「FATAL:kernel太舊了。」如何爲舊的Linux發行版構建應用程序,並避免FATAL:內核太舊的錯誤?

如何輕鬆獲得2.4版內核的運行版本?我需要的一些庫甚至在大約2003年的舊版Linux發行版上都不可用。是否有apt-get install或者可以讓我輕鬆定位舊版內核的東西?

回答

2

最簡單的方法是簡單地安裝VirtualBox(或類似的東西,例如VMWare),安裝CentOS 3或任何合適的帶有2.4內核的舊發行版,並在其上構建/測試您的應用程序。

由於您的內核太舊,您有可能依賴2.4內核中不存在的某些功能,因此您必須查找並修改該內核。 這個錯誤可能是由於靜態鏈接到glibc造成的,您可以嘗試動態鏈接到glibc和所有其他庫,但要向後兼容,您必須在舊的glibv系統上構建應用程序。使用lsb工具構建也可能有所幫助

+0

LSB浪費了很多時間,並沒有像宣傳的那樣工作。我能想出的最佳解決方案是在多個虛擬機上安裝不同的Linux。 (我必須爲源代碼構建從源代碼使用的更新的庫)目前,我使用Ubuntu 8.10和RedHat 4.基於這兩者構建的東西可以在大多數平臺上運行。 – 2010-04-08 14:01:42

相關問題