Если вероятность того, что зависимости для версии пакета, находящейся в выпуске Ubuntu (или других производных от Debian соглашений), совпадает с deps для версии, которую вы пытаетесь создать, вы можете запустить apt-get build-dep nginx
или aptitude build-dep nginx
- это не установит пакет nginx, но вместо этого установит все перечисленные как зависимости (и их зависимости, как обычно), который включает libssl-dev
(пакет, который вы ищете в данный момент).
В большинстве случаев это позволит успешно завершить сборку другой (предположительно более новой) версии и избавит вас от необходимости устанавливать каждую библиотеку и ее заголовочные файлы один за другим. Даже если в другой версии, которую вы пытаетесь построить, build-dep <package>
есть новые зависимости, это хорошее место для начала, так как это означает, что вам нужно только вручную установить дополнительные новые зависимости.
Как пример, результат на одном из моих серверов:
user@host:~$ sudo aptitude build-dep nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
autotools-dev cvs{a} debhelper gettext{a} html2text{a} intltool-debian{a}
libcroco3{a} libmail-sendmail-perl{a} libpcre3-dev libpcrecpp0{a}
libssl-dev libsys-hostname-long-perl{a} po-debconf{a} zlib1g-dev
0 packages upgraded, 14 newly installed, 0 to remove and 19 not upgraded.
Need to get 7,217kB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?]
Он намеревается установить некоторые библиотеки и заголовки, чтобы включить сборку nginx, но не сам nginx.
Стоит отметить, что если вы компилируете свою собственную копию, потому что вам нужны другие параметры сборки, а не нужна другая версия по какой-то причине, вам лучше скомпилировать из исходного кода хранилища для пакета, а не напрямую использовать исходные исходные коды. Этот вопрос SO является первой полезной страницей, которая появилась в результате быстрого поиска, хотя вы, вероятно, легко найдете более подробные руководства, если вам это нужно.
Еще одна небольшая вещь, которую стоит отметить: пакеты, установленные в результате, apt-get build-dep
будут помечены как установленные вручную, как если бы вы сделали это вручную, как в настоящее время. Это означает, что вы не можете удалить их все за один раз (нет apt-get unintall-dep
или аналогичные) - хотя это ничем не отличается от ситуации, которую вы получите в любом случае при ручной установке библиотеки / заголовка (я упоминаю только тот факт, поскольку некоторые люди ожидают там быть одним шагом способ отменить build-dep
операцию, и нет).