Большая часть программного обеспечения будет включать в себя список зависимостей, которые ему требуются, хотя этот список не обязательно должен быть в наиболее удобной форме для их поиска и установки.
Для произвольного примера предположим, что вы хотите скомпилировать Gnumeric, приложение для работы с электронными таблицами. Вы скачиваете исходный код и смотрите в файле README, в котором есть раздел
Requirements
------------
You need: Debian package name
glib >= 2.28.0 libglib2.0-dev
gtk+ >= 3.2.0 libgtk3.0-dev
libgsf >= 1.14.24 libgsf-1-dev
libgoffice >= 0.10.1 libgoffice-0-8-dev
gnome-xml >= 2.4.12 libxml2-dev
pango >= 1.24.0 libpango1.0-dev
NOTE: gnome-xml is also known as libxml
Optionally:
python >= 2.0 python-dev
pygobject >= 3.0.0 python-gi-dev
The GDA plugin, for accessing databases
gda >= 1.3.0 libgda2-dev
libgnomedb >= 1.3.0 libgnomedb2-dev
Currently disabled:
guile >= 1.5 (no maintainer)
Runtime suggestions:
'yelp' for help
Теперь это лучший сценарий, они сообщают вам необходимые библиотеки и говорят вам точный пакет Debian, который вам нужно установить, чтобы получить их. Например, вы бы просто запустить
$sudo apt-get install libglib2.0-dev
установить первую зависимость.
Однако второй столбец "имя пакета debian" встречается не так часто в большинстве программных пакетов. Вместо этого у них будет только первый столбец "glib" и, возможно, номер версии. Вы можете подтвердить именованную зависимость "glib" с именем пакета debian (или ubuntu и т.д.) "Libglib2.0-dev". Обычно некоторые поисковые запросы в Интернете или на форумах помогут вам найти название пакета.
Имея некоторый опыт, вы заметите шаблоны в именах пакетов, которые вам нужны. Как правило, библиотеки упакованы с именами libXXXX, и, как правило, они разделены на компоненты времени выполнения (libXXX) и файлы разработки, необходимые для компиляции вашей программы (libXXX-dev). Кроме того, если вы не можете найти нужный пакет с помощью простого веб-поиска, посмотрите на конкретное сообщение об ошибке, которое вы получаете, когда пытаетесь скомпилировать. Если, например, отсутствует файл "glib.h", вы можете использовать поиск пакетов вашего дистрибутива, чтобы найти пакеты, содержащие этот файл, или, в более общем случае, вы всегда можете просто искать эти сообщения об ошибках в Интернете, чтобы найти других людей с такой же проблемой ,
На самом деле пакет зависит от того, сколько информации они предоставляют о необходимых зависимостях, но наиболее распространенный метод - перечислить общее название необходимой библиотеки. Затем человек, составляющий пакет, отвечает за выяснение того, как установить файлы разработки для этой библиотеки в своей конкретной конфигурации системы.
Если вы обнаружите программное обеспечение, которое никоим образом не перечисляет его зависимости, то отправьте отчет об ошибке, а тем временем приготовьтесь начать пробивать сообщения об ошибках.