Compile o software a partir da fonte: como faço para coletar uma lista de dependências?

3

Gostaria de compilar o Nginx 1.9.8 a partir do código-fonte e instalá-lo em um servidor Ubuntu 14.04. No entanto, e isso vale para qualquer software, como descobrir quais dependências eu preciso instalar no meu sistema local para construir o software?

Digamos que eu gostaria de compilar o Nginx. Eu sempre posso fazer aptitude show nginx para obter dependências para o pacote atual disponível através de um repositório. Por outro lado, isso pode não ser uma lista correta, pois o repositório pode oferecer uma versão antiga em que as dependências são diferentes da nova versão que eu gostaria de compilar.

Em geral, como coletar a lista de dependências que preciso instalar em um sistema para um determinado software?

Dado que as dependências podem diferir com base nas opções de compilação que eu forneço, isso é uma questão de "tentativa e erro". Ou seja, devo tentar compilar, esperar pelo primeiro erro, ver o que reclama, adicionar essa dependência e fazer a mesma iteração novamente?

    
por sbrattla 09.12.2015 / 11:36

1 resposta

3

Se você tiver a sorte de ter o software em seus repositórios, poderá instalar dependências com apt :

root # apt-get build-dep nginx 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libgd-dev' instead of 'libgd2-dev'
Note, selecting 'liblua5.1-0-dev' instead of 'liblua5.1-dev'
The following NEW packages will be installed:
  autotools-dev debhelper dh-apparmor dh-systemd geoip-bin gettext
  intltool-debian libcroco3 libfontconfig1-dev libfreetype6-dev libgd-dev
  libgeoip-dev libice-dev libice6 libjbig-dev libjpeg-dev libjpeg-turbo8-dev
  libjpeg8-dev liblua5.1-0 liblua5.1-0-dev liblzma-dev libmhash-dev libmhash2
  libpam0g-dev libpcre3-dev libpcrecpp0 libperl-dev libpng12-dev
  libpthread-stubs0-dev libreadline-dev libreadline6-dev libsm-dev libsm6
  libtiff5-dev libtiffxx5 libtinfo-dev libunistring0 libvpx-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxml2-dev libxpm-dev libxslt1-dev
  libxt-dev libxt6 pkg-config po-debconf x11-common x11proto-core-dev
  x11proto-input-dev x11proto-kb-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.6 MB of archives.
After this operation, 54.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
    
por 09.12.2015 / 11:41