Wyszukiwanie brakujących pakietów / zależności

W trakcie kompilacji programów często zdarza się, że brakuje jakiś pakietów. Na szczęście zostajemy poinformowani jakiego pakietu konkretne brakuje, np.:

checking for libgnutls-config... no
checking for libgnutls - version >= 1.0.0... no
*** The libgnutls-config script installed by LIBGNUTLS could not be found
*** If LIBGNUTLS was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the LIBGNUTLS_CONFIG environment variable to the
*** full path to libgnutls-config.
configure: WARNING:
***
*** libgnutls was not found.

Co wtedy? Szybciutko odpalamy terminal i wklepujemy:

sudo apt-get install libgnutls

A rezultat:

Czytanie list pakietów... Gotowe
Budowanie drzewa zależności       
Odczyt informacji o stanie... Gotowe
E: Nie udało się odnaleźć pakietu libgnutls

Oh… i co teraz? Nie ma pakietu, który wymagany jest przy instalacji… koniec kompilacji? Na szczęście NIE bo jest apt-file!

Instalacja

sudo apt-get install apt-file

Tuż po instalacji oraz po każdej zmianie repozytoriów należy dodatkowo wydać polecenie:

apt-file update

Wzór polecenia wyszukującego pakiety jest następujący:

apt-file search nazwa_brakującego_pakietu

Przykład:

szmitas@szmitas-laptop:~$ apt-file search libgnutls
language-pack-cs-base: /usr/share/locale-langpack/cs/LC_MESSAGES/libgnutls26.mo
language-pack-de-base: /usr/share/locale-langpack/de/LC_MESSAGES/libgnutls26.mo
language-pack-en-base: /usr/share/locale-langpack/en@boldquot/LC_MESSAGES/libgnutls26.mo
language-pack-en-base: /usr/share/locale-langpack/en@quot/LC_MESSAGES/libgnutls26.mo
language-pack-en-base: /usr/share/locale-langpack/en_GB/LC_MESSAGES/libgnutls26.mo
language-pack-es-base: /usr/share/locale-langpack/es/LC_MESSAGES/libgnutls26.mo
language-pack-fr-base: /usr/share/locale-langpack/fr/LC_MESSAGES/libgnutls26.mo
language-pack-it-base: /usr/share/locale-langpack/it/LC_MESSAGES/libgnutls26.mo
language-pack-ms-base: /usr/share/locale-langpack/ms/LC_MESSAGES/libgnutls26.mo
language-pack-nl-base: /usr/share/locale-langpack/nl/LC_MESSAGES/libgnutls26.mo
language-pack-oc-base: /usr/share/locale-langpack/oc/LC_MESSAGES/libgnutls26.mo
language-pack-pl-base: /usr/share/locale-langpack/pl/LC_MESSAGES/libgnutls26.mo
language-pack-pt-base: /usr/share/locale-langpack/pt_BR/LC_MESSAGES/libgnutls26.mo
language-pack-ru-base: /usr/share/locale-langpack/ru/LC_MESSAGES/libgnutls26.mo
language-pack-sq-base: /usr/share/locale-langpack/sq/LC_MESSAGES/libgnutls26.mo
language-pack-sv-base: /usr/share/locale-langpack/sv/LC_MESSAGES/libgnutls26.mo
language-pack-tr-base: /usr/share/locale-langpack/tr/LC_MESSAGES/libgnutls26.mo
language-pack-vi-base: /usr/share/locale-langpack/vi/LC_MESSAGES/libgnutls26.mo
language-pack-zh-hans-base: /usr/share/locale-langpack/zh_CN/LC_MESSAGES/libgnutls26.mo
libgnutls-dev: /usr/lib/libgnutls-extra.a
libgnutls-dev: /usr/lib/libgnutls-extra.la
libgnutls-dev: /usr/lib/libgnutls-extra.so
libgnutls-dev: /usr/lib/libgnutls-openssl.a
libgnutls-dev: /usr/lib/libgnutls-openssl.la
libgnutls-dev: /usr/lib/libgnutls-openssl.so
libgnutls-dev: /usr/lib/libgnutls.a
libgnutls-dev: /usr/lib/libgnutls.la
libgnutls-dev: /usr/lib/libgnutls.so
libgnutls-dev: /usr/share/doc/libgnutls-dev/AUTHORS.gz
libgnutls-dev: /usr/share/doc/libgnutls-dev/NEWS.gz
libgnutls-dev: /usr/share/doc/libgnutls-dev/README
libgnutls-dev: /usr/share/doc/libgnutls-dev/README.Debian
libgnutls-dev: /usr/share/doc/libgnutls-dev/THANKS.gz
libgnutls-dev: /usr/share/doc/libgnutls-dev/changelog.Debian.gz
libgnutls-dev: /usr/share/doc/libgnutls-dev/copyright
libgnutls26: /usr/lib/libgnutls-extra.so.26
libgnutls26: /usr/lib/libgnutls-extra.so.26.14.12
libgnutls26: /usr/lib/libgnutls-openssl.so.26
libgnutls26: /usr/lib/libgnutls-openssl.so.26.14.12
libgnutls26: /usr/lib/libgnutls.so.26
libgnutls26: /usr/lib/libgnutls.so.26.14.12
libgnutls26: /usr/share/doc/libgnutls26/AUTHORS.gz
libgnutls26: /usr/share/doc/libgnutls26/NEWS.Debian.gz
libgnutls26: /usr/share/doc/libgnutls26/NEWS.gz
libgnutls26: /usr/share/doc/libgnutls26/README
libgnutls26: /usr/share/doc/libgnutls26/THANKS.gz
libgnutls26: /usr/share/doc/libgnutls26/changelog.Debian.gz
libgnutls26: /usr/share/doc/libgnutls26/copyright
libgnutls26-dbg: /usr/lib/debug/usr/lib/libgnutls-extra.so.26.14.12
libgnutls26-dbg: /usr/lib/debug/usr/lib/libgnutls-openssl.so.26.14.12
libgnutls26-dbg: /usr/lib/debug/usr/lib/libgnutls.so.26.14.12
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/AUTHORS.gz
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/NEWS.gz
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/README
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/THANKS.gz
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/changelog.Debian.gz
libgnutls26-dbg: /usr/share/doc/libgnutls26-dbg/copyright
vlc-dbg: /usr/lib/debug/usr/lib/vlc/misc/libgnutls_plugin.so
vlc-nox: /usr/lib/vlc/misc/libgnutls_plugin.so

Pakiety językowe raczej nas nie interesują, dlatego pierwszym sensownym kandydatem do instalacji jest libgnutls-dev – instalujemy i kompilujemy dalej!
Jednak niech nie zwiedzie Cię jedynie dopisanie -dev do nazwy pakietu – nie zawsze jest to takie proste!

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Admc

    Najbardziej wkurzają mnie błędy typu kod X (zamiast X wstaw dowolną liczbę). Nigdy nie wiadomo o co chodzi i trzeba pisać do twórcy programu.