Se a probabilidade de as dependências para a versão de um pacote que estão no lançamento do Ubuntu (ou outros arranjos derivados do Debian) for a mesma que os deps para a versão que você está tentando construir, você pode executar apt-get build-dep nginx
ou aptitude build-dep nginx
- isso não será instalado o pacote nginx, mas instalará todos os listados como dependências (e suas dependências, como de costume) que inclui libssl-dev
(o pacote que você está procurando no momento).
Na maioria dos casos, isso permitirá que a compilação da outra versão (presumivelmente mais recente) seja concluída com êxito e poupa a instalação de cada biblioteca e seus arquivos de cabeçalho, um por um. Mesmo se houver novas dependências na outra versão que você está tentando criar, build-dep <package>
é um bom ponto de partida, pois significa que você só precisa instalar manualmente as novas dependências extras.
Como exemplo, o resultado em um dos meus servidores é:
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/?]
Ele pretende instalar algumas bibliotecas e cabeçalhos, para habilitar uma compilação do nginx, mas não o próprio nginx.
Um ponto a ser observado é que, se você estiver compilando sua própria cópia porque deseja opções de compilação diferentes, em vez de precisar de uma versão diferente por algum motivo, pode ser melhor compilar a partir da fonte do repositório para o pacote, em vez de usar as fontes upstream diretamente. Essa pergunta do SO é a primeira página útil que saiu de uma pesquisa rápida, embora você provavelmente encontre tutoriais mais detalhados facilmente, se precisar.
Outro pequeno detalhe a ser observado: os pacotes instalados como resultado apt-get build-dep
serão marcados como instalados manualmente, como se você tivesse feito isso manualmente, como está fazendo no momento. Isso significa que você não pode removê-los de uma só vez (não existe apt-get unintall-dep
ou semelhante) - embora isso não seja diferente da situação que você obterá das instalações manuais de bibliotecas / cabeçalhos de qualquer maneira (apenas mencionei o fato, como algumas pessoas esperam ser uma maneira de desfazer uma build-dep
operação e não existir).