2014-05-07 95 views
2

我正在構建一個需要其他軟件包的Debian軟件包,例如libboost-all-dev或libqt4-dev。我嘗試過使用Pre-Depends並在preinst中放置apt-get install PKGS,但它不起作用。Debian軟件包,依賴關係的安裝

如何自動啓動依賴關係的安裝?

編輯:我的控制文件:

Package: myPackage 
Version: 1.0 
Section: base 
Priority: optional 
Depends: libboost-all-dev,libqt4-dev,libvtk6-dev,libcppunit-dev,libhdf5-dev,libann-dev,wx-common,libwxbase2.8-dev 
Architecture: all 
Maintainer: Corentin D <***@***.***> 
Description: ... 
Homepage: none 

我試圖使用

dpkg -i package-name.deb 

回答

3

不要使用PREINST腳本爲安裝包!除了它不起作用的原因之外,因爲一次只能運行一個dpkg實例,所以依賴項的安裝是apt的一項工作。使用control文件列出在Debian政策描述您的二進制依賴:http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps

還應注意,如果你安裝使用dpkg -i package-name.deb本地包,dpkg不會安裝在控制文件中列出的依賴關係(!)。您仍然需要手動安裝它們。如果你想安裝正確的依賴關係,你需要:

  • 安裝的Debian軟件包庫(或使用Ubuntu的一個PPA)
  • 放置.deb
  • 庫添加到您的sources.list
  • apt-get updateaptitude update
  • apt-get install package-nameaptitude install package-name
+0

我試圖使用Pre-Depends ans取決於,但仍然是同樣的問題。 「MyPckg」取決於libboost-all-dev,libboost-all-dev未安裝...「 這是我的控制文件摘錄: ... 部分:base 取決於:libboost-all-dev ,libqt4-dev的 架構:?所有 ... 感謝的對你有所幫助 – cooow

+0

你能控制文件的內容添加到這個問題 – hek2mgl

+0

做了同樣的事情,如果我用預取決於還是依靠 – cooow

相關問題