Jeśli prawdopodobieństwo, że zależności dla wersji pakietu znajdującego się w wydaniu Ubuntu (lub innych uzgodnień pochodnych Debiana) jest takie samo jak dla zależności dla wersji, którą próbujesz zbudować, możesz uruchomić apt-get build-dep nginx
lub aptitude build-dep nginx
- to nie zostanie zainstalowane pakiet nginx, ale zamiast tego zainstaluje wszystkie wymienione jako zależności (i ich zależności, jak zwykle), które obejmują libssl-dev
(pakiet, którego aktualnie szukasz).
W większości przypadków pozwoli to na pomyślne ukończenie kompilacji drugiej (prawdopodobnie nowszej) wersji i oszczędza instalowania każdej biblioteki i jej plików nagłówkowych jeden po drugim. Nawet jeśli w innej wersji, którą próbujesz zbudować, są nowe zależności, build-dep <package>
jest dobrym miejscem do rozpoczęcia, ponieważ oznacza to, że musisz tylko ręcznie zainstalować dodatkowe nowe zależności.
Na przykład wynik na jednym z moich serwerów to:
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/?]
Zamierza zainstalować niektóre biblioteki i nagłówki, aby umożliwić kompilację nginx, ale nie samą nginx.
Należy zwrócić uwagę na to, że jeśli kompilujesz własną kopię, ponieważ chcesz różnych opcji kompilacji, a nie z jakiejś przyczyny potrzebujesz innej wersji, możesz lepiej skompilować pakiet ze źródła repozytorium dla pakietu, niż bezpośrednio korzystać ze źródeł źródłowych. To pytanie SO jest pierwszą przydatną stroną, która wyszła z szybkiego wyszukiwania, choć w razie potrzeby z łatwością znajdziesz bardziej szczegółowe samouczki.
Inna drobna rzecz, na którą należy zwrócić uwagę: pakiety zainstalowane w wyniku apt-get build-dep
zostaną oznaczone jako zainstalowane ręcznie, tak jakbyś zrobił to ręcznie, tak jak obecnie. Oznacza to, że nie możesz usunąć ich wszystkich za jednym razem (nie ma apt-get unintall-dep
lub nie ma podobnego) - chociaż i tak nie różni się to od sytuacji, w której będziesz otrzymywać ręczne instalacje bibliotek / nagłówków (wspominam tylko o tym, jak niektórzy się tam spodziewają) być jednym krokiem do cofnięcia build-dep
operacji, a nie ma takiej ).