Якщо ймовірність того, що залежності для версії пакету, що знаходиться у випуску 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.
Варто зазначити, що якщо ви збираєте свою власну копію, тому що хочете різні варіанти збірки, а не потребуєте іншої версії з якоїсь причини, вам може бути краще компілювати з джерела сховища для пакета, а не безпосередньо використовувати вихідні джерела. Це запитання ТА є першою корисною сторінкою, яка вийшла з швидкого пошуку, хоча ви, швидше за все, знайдете більш детальні підручники, якщо вам це потрібно.
Ще одна невелика річ, яку слід зазначити: пакунки, встановлені в результаті, apt-get build-dep
будуть позначені як встановлені вручну, як якщо б ви це зробили вручну, як це робите в даний час. Це означає, що ви не можете їх видалити за один раз (немає apt-get unintall-dep
або подібне) - хоча це нічим не відрізняється від ситуації, яку ви отримаєте з встановлених вручну бібліотеки / заголовків (я лише зазначу той факт, як там очікують деякі люди бути однокроковим способом скасувати build-dep
операцію, а її немає).