Выяснение, какие пакеты установить для удовлетворения зависимостей, не является точной наукой. Но есть несколько советов, которые могут вам помочь:
- Когда вы работаете с удовлетворяющими зависимостями для компиляции чего-либо, вам почти всегда нужен пакет, который заканчивается
-dev
. Это сокращение для развития. Например,openssl
пакет содержит инструменты командной строки и библиотеки для работы с шифрованием.libssl-dev
содержит заголовочные файлы и библиотеки для разработки openssl. - Для поиска пакета по ключевому слову с помощью apt используйте
apt-cache search
. Например, я фактически не знал, что libssl-dev было тем, что было названием пакета openssl dev. Я обнаружил, что с помощью этой команды:apt-cache search openssl | grep dev
а затем перейти к той, которая, кажется, не связана с другим языком / библиотекой. - Вы можете увидеть, какие пакеты вы установили, используя
dpkg -l
, но, в общем, просто найдите нужный пакет и скажите apt, чтобы установить его, если он у вас уже есть, apt сообщит вам. Еще один хороший совет: если вы хотите знать, какому пакету принадлежит файл, используйтеdpkg -S /path/to/thefile
- Если вам в конечном итоге понадобится собрать пакет из исходного кода, не существует простого способа разрешить дерево зависимостей.
./configure
должен сказать вам, или файл README. Часто они даже назовут точный требуемый пакет. - Чтобы выяснить, что связать, обычно это связано с именем пакета или наиболее общим названием того, что вы хотите. В нашем примере с libssl вы просто должны перейти
-lssl
на gcc. Если вы не знаете, какие есть варианты-l
, загляните в / lib / (просто удалите «lib» спереди и «.so ...» сзади, чтобы получить «середину», которая передается в gcc).