我有一个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或更高版本?

谢谢,

克里斯。

最佳答案

除非有特殊原因需要针对特定​​版本的Boost,否则您应该“Depends:libboost-dev”。此libboost-dev软件包是伪软件包,可引入合适版本的libboost。

如果您确实要专门针对它们,请使用“或”运算符:

Depends: A | B | C

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

09-11 17:21