Si la probabilidad de que las dependencias para la versión de un paquete que se encuentra en el lanzamiento de Ubuntu (u otros arreglos derivados de Debian) sean las mismas que las de la versión que está intentando construir, podría ejecutar apt-get build-dep nginx
o aptitude build-dep nginx
, esto no se instalará el paquete nginx, pero en su lugar instalará todos los listados como dependencias (y sus dependencias, como de costumbre) que incluye libssl-dev
(el paquete que está buscando actualmente).
En la mayoría de los casos, esto permitirá que la compilación de la otra versión (presumiblemente más nueva) se complete con éxito, y le ahorra instalar cada biblioteca y sus archivos de encabezado uno por uno usted mismo. Incluso si hay nuevas dependencias en la otra versión que está intentando construir, build-dep <package>
es un buen lugar para comenzar, ya que solo tiene que instalar manualmente las nuevas dependencias adicionales.
Como ejemplo, el resultado en uno de mis servidores es:
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/?]
Tiene la intención de instalar algunas bibliotecas y encabezados, para habilitar una compilación nginx, pero no nginx en sí.
Una cosa a tener en cuenta es que si está compilando su propia copia porque desea diferentes opciones de compilación en lugar de necesitar una versión diferente por alguna razón, puede ser mejor compilar desde la fuente del repositorio para el paquete en lugar de usar las fuentes ascendentes directamente. Esta pregunta SO es la primera página útil que salió de una búsqueda rápida, aunque es probable que encuentre tutoriales más detallados fácilmente si lo necesita.
Otra pequeña cosa a tener en cuenta: los paquetes instalados como resultado apt-get build-dep
se marcarán como instalados manualmente como si lo hubiera hecho a mano como lo está haciendo actualmente. Eso significa que no puede eliminarlos todos de una vez (no hay ninguno apt-get unintall-dep
o similar), aunque eso no es diferente de la situación que obtendrá de las instalaciones manuales de biblioteca / encabezado de todos modos (solo menciono el hecho como algunas personas esperan allí ser una forma de deshacer una build-dep
operación en un solo paso , y no la hay).