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-checkbuilddepssolo 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-checkbuilddepsusa esos módulos internamente)Agregue las siguientes líneas
print-build-depsy ejecútelasprint-build-depsen la raíz del paquete fuente.Ver también:
Instalación:
Puedes usar
mk-build-depsdesdedevscripts:man mk-build-depsdice:fuente
devscriptsyequivs, genera un paquete temporalmyproject-build-depsy 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,equivsymyproject-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.