2013-01-03 23 views
1

我們有一些C++應用程序是專門爲Debian穩定版(x86)開發的。如何定位Debian穩定但在測試中發展?

當前,這些應用程序的開發也是使用Debian穩定(x86)系統完成的,因此開發人員擁有與目標系統上相同的庫版本。有時,我還需要對這些組件進行研究,並且讓我一直在困擾着KDevelop(4.0.1與最新的4.4.1)的過時版本。我想使用更新的系統進行開發(如最新的Ubuntu或Debian測試),但是如何創建適合目標系統的二進制文件?
有沒有一些簡單的方法可以告訴編譯器/鏈接器使用僅在目標平臺上可用的庫版本?
我看着Emdebian及其交叉編譯軟件包,但我不認爲這對我有用。他們似乎只有針對ARM等其他架構的軟件包。

回答

5

我推薦使用schroot。

$ sudo apt-get install schroot debootstrap 

$ sudo debootstrap squeeze /opt/squeeze 

然後在/etc/schroot/schroot.conf添加和進入這樣的:

[squeeze] 
type=directory 
description=Debian squeeze 
directory=/opt/squeeze 
users=myusername 
root-users=myusername 

之後,你準備在chroot安裝軟件包:

$ schroot -c squeeze -u root 
(squeeze)# aptitude 

安裝完所有你需要的軟件包後,你可以像普通用戶一樣輸入chroot(只要你ar E在schroot.conf文件中列出):

$ schroot -c squeeze 

的schroot程序也是在較早的桌面系統上運行X11新應用是有用的,你只需要沿着以及通過環境:

$ schroot -c squeeze -p 
1

您可以:

  1. 工作站
  2. 創建一個chroot監牢上安裝Debian的測試。
  3. 將Debian穩定安裝到chroot監獄
  4. 從監獄內編譯您的項目。
2

一個簡單的解決方案是在Debian下安裝一個穩定的Debian發行版。一個測試(或不穩定)的Debian發行版(甚至是一些非Debian,但Debian「兼容」的東西,如Mint或Ubuntu)。

您要使用的debootstrap工具(安裝chroot的分佈),並且你需要bind-mount僞文件系統,如/proc//dev//sys/或許你/home。然後使用schroot進入穩定的Debian(並在其中編譯)。

相關問題