Postępowałem już zgodnie z tym przewodnikiem, aby wyłączyć wklejanie środkowego przycisku myszy na moim Ubuntu 12.04.
Działa jak marzenie.
Teraz próbuję osiągnąć to samo na moim Linux Mint 17. Kiedy próbuję
sudo apt-get build-dep libgtk2.0-0
daje mi następujące dane wyjściowe:
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
Dla mnie to wygląda jak apt-get jest w jakiś sposób „rozwiązywania” 'libgtk2.0-0'
do 'gtk+2.0'
, ale nie znaleźliśmy żadnych pakiet nazwany tak.
EDYCJA: chociaż jestem teraz w stanie skompilować program (patrz moja odpowiedź), wciąż nie wiem, co Picking 'gtk+2.0' as source package instead of 'libgtk2.0-0'
to znaczy. Wszelkie informacje na ten temat będą mile widziane, dzięki!
deb-src
repozytorium na swoim /etc/apt/sources.list?Odpowiedzi:
Jak już zauważyli inni, upewnij się, że dla każdego
deb …
wpisu w/etc/apt/sources.list
i/etc/apt/sources.list.d/*
masz pasującydeb-src …
wpis. Reszta linii musi być identyczna.deb
Wpis jest dla pakietów binarnych (czyli gotowe do instalacji), przy czymdeb-src
jest dla pakietów źródłowych (czyli gotowy do kompilacji). Powodem, dla której oba rodzaje źródeł są rozdzielone, jest to, że są one zarządzane w bardzo różny sposób: pakiety binarne mają mechanizm śledzenia zależności i aktualnie zainstalowaną listę, podczas gdy pakiety źródłowe są śledzone tylko po to, aby można je było wygodnie pobrać. Zauważ, że podczas omawiania repozytoriów pakietów słowo źródło oznacza dwie niezwiązane ze sobą rzeczy: źródło jak w lokalizacji, z której można pobierać pakiety oraz pakiet źródłowy w przeciwieństwie do pakietu binarnego.libgtk2.0-0
to nazwa pakietu binarnego. Jest zbudowany z pakietu źródłowego o nazwiegtk+2.0
. Powodem, dla którego nazwy pakietów źródłowych i binarnych nie zawsze są takie same, jest to, że zbudowanie pakietu źródłowego może wygenerować wiele pakietów binarnych; na przykładgtk+2.0
jest źródłem 14 pakietów, ponieważ jest podzielony na dwie biblioteki (libgtk2.0
, libgail), corresponding packages to build programs using these libraries (
… -dev), documentation for developers (
… -doc), companion programs (
libgtk2.0-bin`) itp.Możesz zobaczyć nazwę pakietu źródłowego odpowiadającą pakietowi binarnemu, sprawdzając
Source: …
wiersz na wyjściudpkg -s BINARY_PACKAGE_NAME
(jeśli pakiet jest zainstalowany) lubapt-cache show BINARY_PACKAGE_NAME
. Możesz wyświetlić listę pakietów binarnych utworzonych przez pakiet źródłowy za pomocąaptitude search '?source-package(^SOURCE_PACKAGE_NAME$)
.Polecenie
apt-get source
pobiera pakiet źródłowy. Jeśli podasz argument, który nie jest znanym pakietem źródłowym, sprawdza go w bazie danych instalowalnych pakietów binarnych i próbuje pobrać odpowiedni pakiet źródłowy. Polecenieapt-get build-dep
stosuje to samo podejście, aby wydedukować nazwę pakietu źródłowego, a następnie wysyła zapytanie do bazy danych pakietów źródłowych w celu uzyskania listy pakietów binarnych (lista wBuild-Dep:
polu) i instaluje te pakiety binarne.Interfejs GUI źródeł oprogramowania ma pole wyboru „włącz repozytoria z kodem źródłowym” dla oficjalnych repozytoriów, upewnij się, że jest zaznaczone. Jeśli ręcznie dodajesz repozytoria stron trzecich, upewnij się, że dodajesz oba
deb-src
ideb
wiersze.źródło
Dzięki @steeldriver wymyśliłem, co robić.
Po prostu musiałem dodać do mojej następującą molwę
/etc/apt/sources.list
:repozytoria deb-src zawierają pakiety źródłowe (w przeciwieństwie do binarnych, gotowych do zainstalowania pakietów) potrzebne do kompilacji.
Edycja: Po dodaniu tego musisz wykonać
sudo apt-get update
źródło
Metoda CLI
Testowane na obrazie Docker Ubuntu 18.04. Po tej zmianie mogę z powodzeniem wykonać na przykład:
i przed zmianą nie powiodło się z błędem:
software-properties-gtk
opcja „Kod źródłowy”Z GUI możesz uruchomić:
następnie w zakładce „Oprogramowanie Ubuntu” kliknij „Kod źródłowy”:
To dodało kilka
deb-src
wierszy poniżej/etc/apt/sources.list
i teraz mogę to zrobićsudo apt-get build-dep <package>
.Testowane na Ubuntu od 16.04 do 18.04.
źródło