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.

Jawaban:


34

Gunakan mk-build-depsyang merupakan bagian dari devscripts.


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

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


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).


-6

Mencoba:

apt-get install build-essential

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.