首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mozjpeg代替jpeg-turbo,包括满足依赖关系。

使用mozjpeg代替jpeg-turbo,包括满足依赖关系。
EN

Server Fault用户
提问于 2017-02-19 09:58:53
回答 1查看 571关注 0票数 2

我试图使用mozjpeg作为jpeg-turbo的替换库。我完全能够获取源代码并根据需要编译它们,甚至可以从它创建一个deb文件,我可以用它来安装包(例如apt-get install ./mozjpeg_3.2_amd64.deb)。

为了明确起见,请注意这两个包应该提供完全相同的接口,因此在功能上是等价的。因此,mozjpeg应该满足对jpeg-turbo的依赖。

好的,接下来,当我继续安装依赖程序包(例如,幽灵脚本开发头,libgs-dev)时,我会遇到错误,因为这些包声明了对libjpeg62-turbo-dev的依赖:

代码语言:javascript
复制
dpkg: error processing archive /tmp/apt-dpkg-install-HuzNRO/0-libjpeg62-turbo-dev_1%3a1.5.1-2_amd64.deb (--unpack):
trying to overwrite '/usr/include/jerror.h', which is also in package mozjpeg 3.2-20170219

现在,在这一点上出现冲突当然是合乎逻辑的。有什么办法可以防止这种情况发生吗?我能告诉依赖系统mozjpeg满足jpeg-turbo的依赖,这样依赖jpeg-turbo的任何包都会使用替换安装吗?

提前谢谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-02-19 10:50:56

包维护人员在包本身中将依赖项编码为对特定包名和/或版本的依赖。据我所知,没有一种方法可以让您作为最终用户操纵这种依赖关系,例如从apt-get配置文件。

当多个包提供相同的功能时,可以通过virtual-package创建依赖于特定功能的依赖关系,而不是依赖特定的包名,但这通常需要与其他包维护人员进行协调。

但是,对于您自己的环境,您可以在没有任何协调的情况下尝试这样做:

手册中有许多警告,但是当您为mozjpeg构建包时,您可以使用Provides: jpeg-turbo选项使其成为一个虚拟包,一旦安装,它将满足对需要jpeg-turbo的包的依赖要求。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/833465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档