当我下载一些软件包源代码时(例如foo-[ver].orig.tar.gz、foo-[ver].dsc),在使用dpkg-source -x foo-[ver].dsc和dpkg-buildpackage -us -uc等命令时,经常会遇到依赖问题。在这种情况下,我必须一个一个地安装构建依赖项。是否有一些工具可以自动处理这种情况,例如dpkg-source-dependencies -x foo-[ver].dsc?
当尝试构建一个软件包时,以下命令可以获取所有的依赖项:
apt-get build-dep [package-name]
此外,如果需要,apt-get可以编译源代码软件包:
apt-get --build [package-name]
有几种方法可以解决这个问题(从其他回复中可以看到)。对于已经是仓库的一部分的软件包,您可以简单地使用:
apt-get build-dep pkgname
对于本地软件包,可以选择以下之一:
apt-get build-dep source-dir/
apt-get build-dep source-name.dsc
/usr/lib/pbuilder/pbuilder-satisfydepends* --control source-name.dsc
mk-build-deps --install source-name.dsc
pbuilder build source-name.dsc
sbuild source-name.dsc
pbuilder
是处理这项任务的工具。在安装时,pbuilder
将建立一个最小的发行版tarball。如果要构建一个.dsc
文件,您只需提供该文件,然后pbuilder
会解压tarball,进行chroot
,安装所有必要的构建依赖项并编译软件包。由于此过程的结果,您的构建结果与主机机器的当前配置无关。
pbuilder
有点复杂。我会尝试一下。无论如何还是谢谢。 - Vivodopkgs=$(grep Build-Depends debian/control|sed 's/^Build-Depends: //g)
pkgs=$(echo $pkgs|sed "s/[() ]//g"|tr "," " ")
apt-get install $pkgs build-essential
Build-Depends
еҲ—еңЁеӨҡиЎҢж—¶пјҢжӯӨж–№жі•дёҚиө·дҪңз”ЁпјҢе№¶дё”ж— жі•еҺ»йҷӨ>=versionnumber
дҝ®йҘ°з¬ҰгҖӮ - Stéphane Gourichon