我正在为我的ppa构建一个软件包,它需要比目标发行版(精确)中提供的更新的libboost实现。我已经将升压ppa中的libboost1.55 1.55复制到了我的ppa中。我正在使用pbuilder测试我的包构建。我已经成功地使用了这问题的答案来使pbuilder从ppa获得libboost包到chroot环境中。
不幸的是,虽然所有的依赖项都可以以libboost-libname1.55-dev的形式从ppa安装,但它们中没有一个满足元包libboost-libname-dev,而pbuilder-dist构建由于不满意的依赖关系而失败。
因此,这个问题不一定只与pbuilder-dist有关,而是如何让pbuilder忽略依赖项的包(因为我确信该依赖项得到满足),或者如何使apt-get考虑满足元包依赖?除非没有其他方法,否则我宁愿不去处理debian/control。
发布于 2014-05-09 03:32:56
因为更新为依赖于Boost 1.55库的主元包不是通过PPA提供的,所以您将得到依赖错误。任何构建器(pbuilder或sbuild)或包管理器(apt-get)都不允许在不满足依赖项的情况下构建/安装包,因为这表明包将无法构建或工作。因此,您必须进入debian/control。为了避免错误,尝试使用依赖项替代来指定使用主元打包(如果是足够的版本或替代版本)。
要做到这一点,在一个名为name的Boost模块中,该模块的依赖项看起来类似于libboost-name-dev (>= 1.55.0) | libboost-name1.55-dev。在这种情况下,如果libboost-name-dev至少是1.55版本,就会使用它;否则,它将使用libboost-name1.55-dev。
请注意,您可能需要在pbuilder中手动启用其他选项。
https://askubuntu.com/questions/463159
复制相似问题