apt-get build-dep bir kaynak paket bulamıyor


16

Ubuntu 12.04'ümde orta fare düğmesi yapıştırmasını devre dışı bırakmak için bu kılavuzu zaten izledim .

Tıkır tıkır çalışıyor.

Şimdi de aynı şeyi Linux Mint 17 cihazımda gerçekleştirmeye çalışıyorum.

sudo apt-get build-dep libgtk2.0-0

bana şu çıktıyı verir:

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

Benim için bir şekilde "çözme" apt-get benziyor 'libgtk2.0-0'için 'gtk+2.0'böyle adlandırılmış herhangi paketi bulamazsa o zaman, ama.

DÜZENLEME: Şimdi programı derleyebilmeme rağmen (cevabıma bakın), hala ne Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'anlama geleceğini bilmiyorum . Bununla ilgili herhangi bir fikir takdir edilecektir, teşekkürler!


deb-src/Etc/apt/sources.list'inizdeki ilgili havuzu etkinleştirdiniz mi?
steeldriver

Yanıtlar:


18

Diğerlerinin de belirttiği gibi, her deb …giriş için /etc/apt/sources.listve /etc/apt/sources.list.d/*eşleşen bir deb-src …girişiniz olduğundan emin olun . Çizginin geri kalanı aynı olmalıdır. debGiriş, (yani yüklemeye hazır) ikili paketler içindir deb-src(derlemek yani hazır) kaynak paketleri içindir. İki tür kaynağın birbirinden ayrılmasının nedeni çok farklı yönetilmeleridir: ikili paketler bir bağımlılık izleme mekanizmasına ve halihazırda kurulu bir listeye sahipken, kaynak paketler yalnızca uygun şekilde indirilebilecek şekilde izlenir. Paket depolarını tartışırken, kaynak kelimesinin birbiriyle ilişkili olmayan iki anlamı olduğunu unutmayın : paketleri indirmek için bir konumdaki kaynak ve ikili paketin aksine kaynak paket.

libgtk2.0-0ikili paketin adıdır. Adlı bir kaynak paketten oluşturulur gtk+2.0. Kaynak ve ikili paket adlarının her zaman eşleşmemesinin nedeni, kaynak paket oluşturmanın birden çok ikili paket üretebilmesidir; örneğin, gtk+2.0iki libgtk2.0pakete ( , libgail ), corresponding packages to build programs using these libraries (… -dev ), documentation for developers (… -doc ), companion programs (libgtk2.0-bin`), vb. bölündüğü için 14 paketin kaynağıdır .

Bir ikili pakete karşılık gelen kaynak paketin adını ( paket kurulu ise) veya Source: …çıkışındaki satırı kontrol ederek görebilirsiniz . Bir kaynak paket tarafından üretilen ikili paketleri listeleyebilirsiniz .dpkg -s BINARY_PACKAGE_NAMEapt-cache show BINARY_PACKAGE_NAMEaptitude search '?source-package(^SOURCE_PACKAGE_NAME$)

Komut apt-get sourcebir kaynak paket indirir. Bilinen bir kaynak paket olmayan bir argüman verirseniz, yüklenebilir ikili paketler veritabanında arar ve karşılık gelen kaynak paketini indirmeye çalışır. Komut apt-get build-dep, kaynak paketin adını çıkarmak için aynı yaklaşımı izler, ardından ikili paketlerin listesini ( Build-Dep:alandaki liste) elde etmek için kaynak paket veritabanını sorgular ve bu ikili paketleri yükler.

Yazılım Kaynakları GUI'sinin resmi depolar için “kaynak kodlu depoları etkinleştir” onay kutusu vardır, işaretli olduğundan emin olun. El üçüncü taraf depoları eklerseniz, emin ikisi eklemek yapmak deb-srcve debçizgiler.


6

@Steeldriver sayesinde ne yapacağımı anladım.

Sadece benim için aşağıdaki ling eklemek zorunda kaldı /etc/apt/sources.list:

deb-src ftp://ftp.de.debian.org/debian/ stable main contrib

deb-src depoları, derleme için gerekli olan kaynak paketlerini (ikili, kuruluma hazır paketlerin aksine) içerir.

Düzenleme: Bunu ekledikten sonra, sudo apt-get update


5

CLI yöntemi

sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
sudo apt-get update

Ubuntu 18.04 Docker görüntüsünde test edildi. Bu değişiklikten sonra başarılı olabilirim örneğin:

sudo apt-get build-dep hello

ve değişiklikten önce hata ile başarısız oldu:

E: You must put some 'source' URIs in your sources.list

software-properties-gtk seçenek "Kaynak kodu"

GUI'den şunları çalıştırabilirsiniz:

software-properties-gtk

"Ubuntu Yazılımı" sekmesi altında "Kaynak kodu" nu tıklayın:

resim açıklamasını buraya girin

Bu, deb-srcaltına bazı satırlar ekledi /etc/apt/sources.listve şimdi yapabilirim sudo apt-get build-dep <package>.

Ubuntu 16.04 - 18.04'te test edildi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.