Saya sudah mengikuti panduan ini untuk menonaktifkan tempel tombol tengah mouse di Ubuntu 12.04 saya.
Bekerja seperti pesona.
Sekarang saya mencoba untuk mencapai hal yang sama pada Linux Mint 17. Ketika saya mencoba
sudo apt-get build-dep libgtk2.0-0
itu memberi saya output berikut:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
E: Unable to find a source package for gtk+2.0
Bagi saya sepertinya apt-get entah bagaimana "menyelesaikan" 'libgtk2.0-0'
ke 'gtk+2.0'
, tapi kemudian tidak menemukan paket bernama seperti itu.
EDIT: meskipun saya sekarang dapat mengkompilasi program (lihat jawaban saya), saya masih tidak tahu apa Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
yang dimaksud. Setiap wawasan tentang ini akan sangat dihargai, terima kasih!
deb-src
repositori yang relevan di /etc/apt/sources.list Anda?Jawaban:
Seperti yang telah dicatat orang lain, pastikan bahwa untuk setiap
deb …
entri/etc/apt/sources.list
dan/etc/apt/sources.list.d/*
, Anda memilikideb-src …
entri yang cocok . Sisa baris harus identik. Thedeb
masuk adalah paket binary (yaitu siap untuk menginstal), yangdeb-src
merupakan paket source (yaitu siap untuk mengkompilasi). Alasan mengapa kedua jenis sumber dipisahkan adalah bahwa mereka dikelola sangat berbeda: paket biner memiliki mekanisme pelacakan ketergantungan dan daftar yang saat ini diinstal, sedangkan paket sumber hanya dilacak sehingga mereka dapat diunduh dengan mudah. Perhatikan bahwa ketika membahas repositori paket, sumber kata berarti dua hal yang tidak terkait: sumber seperti di lokasi untuk mengunduh paket, dan paket sumber yang berlawanan dengan paket biner.libgtk2.0-0
adalah nama paket biner. Itu dibangun dari paket sumber yang disebutgtk+2.0
. Sumber alasan dan nama paket biner tidak selalu cocok adalah bahwa membangun paket sumber dapat menghasilkan beberapa paket biner; misalnya,gtk+2.0
adalah sumber untuk 14 paket seperti yang dibagi menjadi dua perpustakaan (libgtk2.0
, libgail), corresponding packages to build programs using these libraries (
... -dev), documentation for developers (
... -doc), companion programs (
libgtk2.0-bin`), dllAnda dapat melihat nama paket sumber yang terkait dengan paket biner dengan memeriksa
Source: …
baris di outputdpkg -s BINARY_PACKAGE_NAME
(jika paket diinstal) atauapt-cache show BINARY_PACKAGE_NAME
. Anda bisa daftar paket biner yang dihasilkan oleh paket sumber denganaptitude search '?source-package(^SOURCE_PACKAGE_NAME$)
.Perintah
apt-get source
mengunduh paket sumber. Jika Anda memberikan argumen yang bukan paket sumber yang dikenal, ia akan mencari dalam database paket biner yang dapat diinstal dan mencoba mengunduh paket sumber yang sesuai. Perintahapt-get build-dep
mengikuti pendekatan yang sama untuk menyimpulkan nama paket sumber, kemudian meminta basis data paket sumber untuk mendapatkan daftar paket biner (daftar diBuild-Dep:
lapangan), dan menginstal paket biner tersebut.GUI Sumber Perangkat Lunak memiliki kotak centang "aktifkan repositori dengan kode sumber" untuk repositori resmi, pastikan dicentang. Jika Anda menambahkan repositori pihak ketiga secara manual, pastikan Anda menambahkan keduanya
deb-src
dandeb
baris.sumber
Berkat @steeldriver, saya tahu apa yang harus dilakukan.
Baru saja menambahkan ling berikut ke saya
/etc/apt/sources.list
:repositori deb-src berisi paket source (tidak seperti paket binary, ready-to-install) yang diperlukan untuk kompilasi.
Sunting: Setelah Menambahkan ini, Anda harus menjalankan
sudo apt-get update
sumber
Metode CLI
Diuji pada gambar Docker Ubuntu 18.04. Setelah perubahan ini, saya bisa berhasil lakukan misalnya:
dan sebelum perubahan gagal dengan kesalahan:
software-properties-gtk
opsi "kode sumber"Dari GUI, Anda dapat menjalankan:
lalu di bawah tab "Ubuntu Software" klik "Source code":
Ini telah menambahkan beberapa
deb-src
baris di bawah/etc/apt/sources.list
, dan sekarang saya bisa melakukannyasudo apt-get build-dep <package>
.Diuji pada Ubuntu 16.04 hingga 18.04.
sumber