Averiguar qué paquetes instalar para satisfacer las dependencias no es una ciencia exacta. Pero hay algunos consejos que pueden ayudarte:
- Cuando trabaja con dependencias satisfactorias para compilar algo, casi siempre desea el paquete que termina en
-dev
. Esta es la abreviatura de desarrollo. Por ejemplo, elopenssl
El paquete contiene herramientas de línea de comandos y bibliotecas para trabajar con cifrado.libssl-dev
contiene archivos de encabezado y bibliotecas para el desarrollo de openssl. - Para buscar un paquete por palabra clave usando apt, use
apt-cache search
. Por ejemplo, en realidad no sabía que libssl-dev era el nombre del paquete de desarrollo de openssl. Descubrí que usando este comando:apt-cache search openssl | grep dev
y luego ir con el que no parecía estar relacionado con otro idioma/biblioteca. - Puedes ver qué paquetes has instalado usando
dpkg -l
, pero, en general, solo busque el paquete que desea y dígale a apt que lo instale, si ya lo tiene, apt se lo dirá. Otro buen consejo es que si desea saber qué paquete posee un archivo, usedpkg -S /path/to/thefile
- Si finalmente necesita compilar un paquete desde el código fuente, no existe una forma sencilla de resolver el árbol de dependencias.
./configure
debería decirle, o el archivo README. A menudo, incluso nombrarán el paquete exacto requerido. - Para averiguar qué vincular, generalmente está relacionado con el nombre del paquete o el nombre más general de lo que desea. Para nuestro ejemplo de libssl, simplemente pasaría
-lssl
a gcc. Si no sabe cuáles son las opciones para-l
son, eche un vistazo en /lib/ (simplemente elimine "lib" del frente y ".so..." de la parte posterior para obtener el 'medio' que se pasa a gcc).
Nadie mencionó
aptitude build-dep
La entrada de la página de manual es bastante completa.