我正在为我的 ppa 构建一个包,它需要比我的目标发行版 (precise) 中提供的 libboost 更新的实现。我从提升 ppa进入我的 ppa。我正在使用 pbuilder-dist 来测试我的软件包构建。我已成功使用答案这问题是让 pbuilder 将 libboost 包从 ppa 放入 chroot 环境。
不幸的是,虽然所有依赖项都可以通过 ppa 安装libboost-libname1.55-dev
,但它们都不满足元包的要求libboost-libname-dev
,因此pbuilder-dist
由于依赖项不满足而导致构建失败。
因此,这个问题不一定只与有关,但我该如何让 pbuilder 忽略依赖关系的软件包(因为我确信依赖关系已得到满足),或者让 apt-get 认为元软件包依赖关系已得到满足?除非没有其他办法,否则pbuilder-dist
我宁愿不去弄乱。debian/control
答案1
由于更新为依赖于 Boost 1.55 库的主元包未通过 PPA 提供,因此您会收到依赖性错误。没有构建器(pbuilder
或sbuild
)或包管理器(apt-get
)允许构建/安装未满足依赖关系的包,因为这表明包将无法构建或运行。因此,您必须进入debian/control
。要解决此错误,请尝试使用依赖项替代方案来指定使用主元包(如果其版本足够)或替代版本。
为了实现这一点,在 Boost 模块中调用姓名,该模块的依赖关系将如下所示libboost-name-dev (>= 1.55.0) | libboost-name1.55-dev
。在这种情况下,libboost-name-dev
如果版本至少为 1.55,则将使用;否则,将使用libboost-name1.55-dev
。
请注意,您可能需要手动启用使用替代方案pbuilder
。