Diberi paket sumber debian - Bagaimana cara saya menginstal build-deps?

47

Saya memiliki paket source debian (baik secara teknis ubuntu), yaitu .dsc, .tar.gz, dll., Saya ingin membangun ini. The dpkg-buildpackagegagal, karena saya tidak memiliki semua membangun dependensi.

Biasanya saya akan menggunakan apt-get build-dep, tetapi paket ini tidak tepat.

Apakah ada cara 'bersih', 'tepat' untuk menginstal semua dependensi build, diberi paket source. Saya tahu saya bisa membuka file debian / control, tapi saya ingin tahu apakah ada cara yang 'tepat'.

Saya telah menginstal build-essential, dan memiliki semua kompiler normal dll., Paket ini memerlukan perangkat lunak tambahan.

Rory
sumber

Jawaban:

34

Gunakan mk-build-depsyang merupakan bagian dari devscripts.

PTman
sumber
12

Berikut adalah contoh alur kerja menggunakan saran ptman.

Dengan anggapan Anda telah mengunduh .dscfile, .orig.*zfile, dan mungkin juga .debian.*zfile, kemudian membongkar paket sumber dengan:

dpkg-source -x [package_name]_[package_version].dsc

Pindahkan ke folder sumber yang diekstrak dan jalankan:

sudo mk-build-deps -i

Ini akan membuat file [package_name]-build-deps_[version].debdan menginstalnya, dan juga menginstal semua dependensi yang disarankan.

Sekarang Anda harus dapat membangun paket Anda dari sumber:

debuild

Setelah selesai, Anda dapat dengan mudah menghapus dependensi yang ditarik, dengan menghapus build-depspaket yang Anda hasilkan:

sudo apt-get purge --auto-remove [package_name]-build-deps
joeytwiddle
sumber
2
Anda juga dapat lulus -runtuk sudo mk-build-deps -imenghapus paket setelah menginstal itu. Selain itu, alih-alih membangun sebagai root, Anda dapat menginstal menggunakan root --root-cmd sudo. Pada akhirnya, gunakanmk-build-deps --install --root-cmd sudo --remove
Lucas
Juga, Anda mungkin perlu sudo apt install devscripts equivsterlebih dahulu.
Alba Mendez
9

Sebenarnya saya bisa menggunakan dpkg-checkbuilddepsyang menunjukkan dependensi build. Itu membuat saya 99% dari apa yang saya butuhkan

Rory
sumber
2
anehnya, file packagename-version.dsc berisi dependensi build pada baris yang dimulai dengan string Build-Depends
quack quixote
6

Saya biasanya menggunakan debuilddari devscriptsuntuk membangun paket, dan jika dirilis mencetak baris build-deps yang hilang.

Cara "tepat" adalah dengan menggunakan pbuilderatau serupa yang akan membangun paket dalam minimal chroot, dan hanya menginstal build-deps tambahan seperti yang ditentukan oleh paket, ini juga menghilangkan banyak masalah potensial lainnya (instalasi lokal perpustakaan tidak dikemas) sebagai contoh).

LapTop006
sumber
-6

Mencoba:

apt-get install build-essential
Lanselot
sumber
Saya telah menginstal build-essential. Paket ini membutuhkan perangkat lunak tambahan.
Rory
Dan itu tidak menjelaskan apa yang dibutuhkan? mungkin libncurses-dev juga.
Lanselot
1
Itu bukan intinya; tentu saja. Intinya adalah memiliki perintah yang benar-benar menginstal dependensi, bukan perintah yang hanya menampilkannya.
Matthias Urlichs