当我下载一些包源(例如 foo-[ver].orig.tar.gz、foo-[ver].dsc)时,我在使用dpkg-source -x foo-[ver].dsc
and时经常遇到依赖问题dpkg-buildpackage -us -uc ...
。在这种情况下,我必须一一安装构建依赖项。是否有一些工具可以自动处理这种情况,例如dpkg-source-dependencies -x foo-[ver].dsc
?
问问题
4545 次
4 回答
7
尝试构建包时,以下内容应获取所有依赖项:
apt-get build-dep [package-name]
此外,如果需要,apt-get 可以编译源包:
apt-get --build [package-name]
于 2012-01-24T13:56:30.553 回答
3
有几种方法可以解决这个问题(从其他回复中可以看出)。对于已经是存储库一部分的包,您可以简单地使用:
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
可能还有其他解决方案,但以上是最广泛使用的。
于 2016-10-25T18:47:41.810 回答
2
pbuilder
只是这项工作的工具。pbuilder
将在安装时在 tarball 中设置最小分发。要构建.dsc
文件,您需要提供文件并pbuilder
解压缩 tarball,chroot
s,安装所有必要的构建依赖项并编译包。作为此过程的结果,您的构建结果独立于主机的当前配置。
于 2012-01-21T17:18:49.623 回答
-1
我正在从 debian/control 中提取 Build-Depends,然后使用 apt 安装它们。一些标准包没有被提及为 Build-Depends(例如 build-essentials),并且需要在 debuild 中静默使用。
pkgs=$(grep Build-Depends debian/control|sed 's/^Build-Depends: //g)
pkgs=$(echo $pkgs|sed "s/[() ]//g"|tr "," " ")
apt-get install $pkgs build-essential
于 2013-11-14T12:40:41.123 回答