2011-03-29 55 views
0

我使用NetBeans構建一套Debian二進制軟件包的Ubuntu上10.0.4與NetBeans 6.91

我是一個64位操作系統,但默認的架構是「X386」,這導致建築Debian的二進制包下面的錯誤,當我嘗試另一個64位計算機上安裝該軟件包:

錯誤:錯誤的架構「I386」

我的第一個問題是:

問題1:

我應該使用什麼字符串來指示所需架構適用於64位英特爾機器?

第二個問題涉及到軟件包之間的依賴關係:

我有三個(C/C++)的項目:

  • FOO
  • foobar的
  • foofoobar

foob​​ar依賴於foo(一個共享庫),同樣foofoobar(一個應用程序)依賴於foobar(另一個共享庫)。

問題2

我在部署方面的問題是:

難道我創建一個單一的Debian軟件包foofoobar和簡單地添加於foo和foobar的創建Debian軟件包的共享庫foofoobar?

問題3

最後但並非最不重要的,這兩個foo和foobar的具有第三方的依賴關係(例如BOOST共享庫)。常識告訴我,我需要將foo,foobar和foobar所需的所有共享庫文件添加到foofoobar Debian軟件包中 - 以便創建一個獨立軟件包,可以成功部署到另一臺沒有所需庫的機器上。

我對外部庫依賴關係的理解是否正確?

+0

關於問題1,我剛剛檢查了我的系統中的一些二進制軟件包,使用的字符串似乎是amd64 - 但是,如果這是我偶然觀察得出的有效假設,我想確認一下。 。 – oompahloompah 2011-03-29 12:06:00

回答

0

1)表示基於64位X86架構的字符串是:AMD64

2)取決於你的項目結構。您可以根據需要添加多個文件。但通常有意義的是,將不同的程序放在不同的包中。

3.)是的,如果要一次部署程序,您必須直接包含所有依賴項。請確保不要在可能已經在某些計算機上使用dd文件填充的目錄中進行規劃,否則,不能在沒有--force的情況下安裝該軟件包。更常見的是:定義一些軟件包,你的程序需要你的軟件包的依賴關係,而軟件包管理器將一勞永逸地處理這個問題。