Anda bisa menggunakannya dpkg-checkbuilddeps
. Halaman manual mengatakan
Program ini memeriksa paket yang diinstal di sistem terhadap dependensi build dan membangun konflik yang tercantum dalam file kontrol. Jika ada yang tidak terpenuhi, ini akan menampilkannya dan keluar dengan kode pengembalian yang bukan nol.
Sebagai contoh:
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
Namun, Anda juga bisa mencoba membuat paket, menggunakan (misalnya) debuild
, mis
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ debuild -uc -us
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package julia
dpkg-buildpackage: source version 0.3.2-1
dpkg-buildpackage: source changed by Sébastien Villemot <[email protected]>
dpkg-source --before-build julia-0.3.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Yang memberikan informasi yang sama (karena menggunakan dpkg-checkbuilddeps
), tetapi sedikit ribut.
dpkg-checkbuilddeps
output hanya dependensi build yang tidak terpenuhi. Lihat jawaban saya tentang penguraian dalam kasus umum.Parsing:
Gunakan modul dari
libdpkg-perl
(dpkg-checkbuilddeps
gunakan modul tersebut secara internal)Tambahkan baris berikut ke
print-build-deps
dan jalankanprint-build-deps
di root paket sumber.Lihat juga:
Instalasi:
Anda dapat menggunakan
mk-build-deps
daridevscripts
:man mk-build-deps
mengatakan:sumber
devscripts
danequivs
, menghasilkan paket tempmyproject-build-deps
dan menginstalnya. Ini bagus jika Anda tidak bermaksud untuk menjaga dependensi build-time pada mesin Anda: cukup uninstalldevscripts
,equivs
danmyproject-build-deps
.Perl one-liner ini dapat digunakan untuk mengurai dependensi dari
debian-control
:atau
sumber
apt-get install $(perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' < debian/control)'
. Perlu diketahui bahwa dependensi akan ditandai sebagai diinstal secara manual, sehingga mereka akan menempel di lingkungan build. Ini tidak penting dalam lingkungan build yang dibuang (chroot, buruh pelabuhan), tetapi jika Anda membangun di lingkungan biasa Anda, paket dependensi build-time akan tetap ada. Mereka bisa sangat besar untuk beberapa paket.