当前位置:  开发笔记 > 编程语言 > 正文

如何制作Debian软件包取决于libboost的多个版本

如何解决《如何制作Debian软件包取决于libboost的多个版本》经验,为你挑选了1个好方法。

我有一个debian/control文件,其中包括:

Build-Depends: ... libboost1.35-dev, libboost-date-time1.35-dev, ...

这使得程序包无法在现代Ubuntu系统上构建.

我可以将所有1.35s改为1.38s然后它可以在现代Ubuntu上运行,但不适用于旧版本.

我想做的事情如下:

Build-Depends: ... libboost-dev (>=1.35), libboost-date-time-dev (>=1.35), ...

但似乎1.35被硬编码到包名中.即libbost1.35-dev与libboost1.38m不同,不仅仅是同一个软件包的不同版本.

我的理解在这里是否正确?我可以理解将主要版本号硬编码到包名中(如果新版本的ABI破坏了向后兼容性).

有没有办法编写Debian控制文件,允许包依赖于具有特定版本的libboost或更高版本?

谢谢,

克里斯.



1> kennytm..:

您应该"取决于:libboost-dev ",除非有特殊原因针对特定版本的Boost进行定位.这个libboost-dev包是一个伪包,可以提供合适的libboost版本.

如果您确实想要专门定位它们,请使用"或"运算符:

Depends: A | B | C 

请参阅:http://www.debian.org/doc/debian-policy/ch-relationships.html

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有