Mostrando entradas con la etiqueta dependencias. Mostrar todas las entradas
Mostrando entradas con la etiqueta dependencias. Mostrar todas las entradas

6 de abril de 2021

Dependencias del sistema de un módulo Perl

Hola, 

un problema con el que tropecé recientemente al preparar un fichero .travis.yaml para un repositorio en GitHub es que algunos módulos Perl pueden fallar al ser instalados porque dependen de software adicional que no está instalado en el sistema operativo. La solución pasa por instalar esas dependencias antes de los módulos en cuestión, tal como se hace por ejemplo con libgd-dev en https://github.com/eead-csic-compbio/get_homologues/blob/master/.travis.yml

En esta entrada lo que quería compartir es el módulo CPAN-Plugin-Sysdeps, que sirve precisamente para averiguar qué dependencias del sistema tiene cualquier módulo. Un ejemplo vale más que mil palabras:

# instalamos cpan-sysdeps
cpanm CPAN::Plugin::Sysdeps
--> Working on CPAN::Plugin::Sysdeps
Fetching http://www.cpan.org/authors/id/S/SR/SREZIC/CPAN-Plugin-Sysdeps-0.68.tar.gz ... OK
Configuring CPAN-Plugin-Sysdeps-0.68 ... OK
Building and testing CPAN-Plugin-Sysdeps-0.68 ... OK
Successfully installed CPAN-Plugin-Sysdeps-0.68
1 distribution installed

# ahora comprobamos las dependencias de cualquier módulo
cpan-sysdeps --cpanmod DB_File
libdb5.3-dev

# si quieres ver solamente las que faltan por instalar
cpan-sysdeps --cpanmod DB_File --uninstalled

# finalmente, puedes instalar directamente esas dependencias
apt-get install $(cpan-sysdeps --uninstalled --cpanmod DB_File)

Hasta pronto,

Bruno