我的系统有libgmp.so.10.2.0
段时间官方来源说当前版本是6.1.2
.
这是 GMP 特有的吗?本来就可以libgmp.so.42.0.0
吗?
Debian 添加了另一个数字“2”(忽略补丁)。
libgmp10:amd64 2:6.0.0+dfsg-6
答案1
你指的是库工具版本,通常与库的发行版本无关。
快速浏览一下源代码,你就会发现版本设置在Makefile.am
,在值之前有一个注释块,给出历史摘要。
在下面的块中,您将看到 Debian 软件包的编号(libmp 的版本信息在最后一列中):
# release libgmp libgmpxx libmp
...
# 5.0.1 10:1:0 6:1:2 4:21:1
# 5.0.2 10:2:0 6:2:2 4:22:1
# 5.0.3 10:3:0 6:3:2 4:23:1
# 5.0.4 10:4:0 6:4:2 4:24:1
# 5.0.5 10:5:0 6:5:2 4:25:1
# 5.1.0 11:0:1 7:0:3 -
和(当前)
# 6.1.2 13:2:3 9:2:5 -
和
# We interpret "implementation changed" in item "1." above as meaning any
# release, ie. the REVISION is incremented every time (if nothing else).
# Even if we thought the code generated will be identical on all systems,
# it's still good to get the shared library filename (like
# libgmpxx.so.3.0.4) incrementing, to make it clear which GMP it's from.
LIBGMP_LT_CURRENT = 13
LIBGMP_LT_REVISION = 2
LIBGMP_LT_AGE = 3
LIBGMPXX_LT_CURRENT = 9
LIBGMPXX_LT_REVISION = 2
LIBGMPXX_LT_AGE = 5
答案2
Debian 政策每当 SONAME 更改时都需要更改包名称(正如其他人正确指出与版本号的关系一样)。接口编号10
在版本中5.0.x
,因此最好将其作为包名称的一部分。
请注意,release5.1.0
意味着age = 1
它可以“提供”接口号10
和11
.不确定 Debian 是否真的这样做。