2017-08-07 220 views
2

我想在老設備上運行一個C++程序,它只支持glibc 2.11.3。所以我必須使用相同的glibc版本創建一個develloping環境。是否可以在OpenSUSE上降級glibc?

目前它正在爲openSUSE Tumbleweed運行版本2.25 x86_64。

首先,我在哪裏可以找到舊版本的有效* .rpm文件。也有可能安裝它?

試圖unistall glibc告訴我會崩潰操作系統。 :-)

謝謝大家的支持。

+1

查找有關爲該版本設置chroot環境的說明。 chroot是一套完全獨立的用戶空間程序和庫,程序可以獨立於主系統運行。你可以用交叉編譯器來做到這一點,但我總是發現chroot更容易設置。 –

+0

你不應該降級你的系統libc。相反,請將舊版本安裝在單獨的目錄樹中,並針對此進行開發。從源代碼編譯glibc並不難,所以我建議這樣做。 – davmac

+1

glibc 2.11.3附帶OpenSUSE 11.4。您可以從[gwdg.de(哥廷根大學計算中心)](https://ftp5.gwdg.de/pub/opensuse/discontinued/distribution/11.4/)獲得分發iso和個人轉售價格 –

回答

2

更改系統glibc幾乎肯定會導致災難。我覺得你有2個解決方案: multiple glibc on one systemlink glibc statically

+0

您鏈接的第一個問題是關於針對另一個libc版本運行程序;這個問題是關於鏈接到一個,IIUC。這實際上是一個不同的問題。 – davmac

2

嘗試反安裝的glibc告訴我,會崩潰的操作系統。 :-)

我不明白你的笑臉。

它會使您的系統無法啓動,是的。

你想要做的幾種方法之一是最好的成果是什麼:

  1. 創建一個Linux到舊的Linux的交叉編譯器
  2. 創建一個「老版本的Linux」 chroot環境(ChromeOS的用途這種方法)
  3. 創建一個「舊的Linux」虛擬機,並在其內部進行開發。

方法2時可能最容易成立,緊隨其後的是方法3

方法1爲您提供最佳構建性能,但需要如何建立交叉編譯器透徹的瞭解。