我有一个debian(在技术上ubuntu的)源代码包,即.dsc,.tar.gz等,我想要build立这个。 dpkg-buildpackage
失败,因为我没有所有的生成依赖关系。
通常我会使用apt-get build-dep
,但是这个包不在apt中。
是否有一个“干净”,“适当”的方式来安装所有的生成依赖关系,给定一个源代码包。 我知道我可以打开debian / control文件,但是我很好奇是否有一个“正确的”方法。
我已经安装了build-essential
,并且拥有所有正常的编译器等,这个软件包需要额外的软件。
使用mk-build-deps
这是devscripts
一部分。
实际上,我可以使用dpkg-checkbuilddeps
来显示构build依赖关系。 这让我99%的需要
我通常使用devscripts
debuild
来构build包,如果相关的话,它会打印出一行缺失的构build文件。
“正确”的方法是使用pbuilder
或类似的方法来构build一个最小的chroot
包,只要安装包中指定的任何额外的build-deps,这也消除了一堆其他潜在的问题打包的库)。
这是一个使用ptmanbuild议的示例工作stream程。
假设您已下载.dsc
文件, .orig.*z
文件,也可能是.debian.*z
文件,然后使用以下命令解压源代码包:
dpkg-source -x [package_name]_[package_version].dsc
移入提取的源文件夹并运行:
sudo mk-build-deps -i
这将创build文件[package_name]-build-deps_[version].deb
并安装它,并安装它所build议的所有依赖项。
现在你应该能够从源代码构build你的包:
debuild
完成后,可以通过删除生成的build-deps
包来轻松删除所引入的依赖关系:
sudo apt-get purge --auto-remove [package_name]-build-deps
尝试:
apt-get install build-essential