Podrías usar dpkg-checkbuilddeps
. La página del manual dice
Este programa verifica los paquetes instalados en el sistema contra las dependencias de compilación y los conflictos de compilación enumerados en el archivo de control. Si no se cumple alguno, los muestra y sale con un código de retorno distinto de cero.
Por ejemplo:
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ dpkg-checkbuilddeps
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
Sin embargo, también podría intentar compilar el paquete, utilizando (por ejemplo) debuild
, por ejemplo
faheem@orwell:/usr/local/src/julia/julia-0.3.2$ debuild -uc -us
dpkg-buildpackage -rfakeroot -D -us -uc
dpkg-buildpackage: source package julia
dpkg-buildpackage: source version 0.3.2-1
dpkg-buildpackage: source changed by Sébastien Villemot <[email protected]>
dpkg-source --before-build julia-0.3.2
dpkg-buildpackage: host architecture amd64
dpkg-checkbuilddeps: Unmet build dependencies: libopenblas-dev (>= 0.2.10-1~) libopenlibm-dev libopenspecfun-dev (>= 0.4~) patchelf python-sphinx-rtd-theme
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
debuild: fatal error at line 1357:
dpkg-buildpackage -rfakeroot -D -us -uc failed
Lo que da la misma información (ya que usa dpkg-checkbuilddeps
), pero es un poco más ruidoso.
dpkg-checkbuilddeps
solo genera dependencias de compilación no satisfechas. Vea mi respuesta sobre el análisis en el caso común.Analizando:
Use módulos de
libdpkg-perl
(dpkg-checkbuilddeps
usa esos módulos internamente)Agregue las siguientes líneas
print-build-deps
y ejecútelasprint-build-deps
en la raíz del paquete fuente.Ver también:
Instalación:
Puedes usar
mk-build-deps
desdedevscripts
:man mk-build-deps
dice:fuente
devscripts
yequivs
, genera un paquete temporalmyproject-build-deps
y lo instala. Esto es bueno si usted no está con la intención de mantener las dependencias en tiempo de compilación en su máquina: basta de desinstalacióndevscripts
,equivs
ymyproject-build-deps
.Este Perl one-liner se puede utilizar para analizar dependencias de
debian-control
:o
fuente
apt-get install $(perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)//mg; print if $p' < debian/control)'
. Solo tenga en cuenta que las dependencias se marcarán como instaladas manualmente, por lo que se mantendrán en el entorno de compilación. Esto no tiene importancia en un entorno de compilación desechable (chroot, docker), pero si construye en su entorno normal, los paquetes de dependencias de tiempo de compilación permanecerán. Pueden ser bastante grandes para algunos paquetes.