libgmp10 库中的 10 是什么意思?

libgmp10 库中的 10 是什么意思?

我的系统有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它可以“提供”接口号1011.不确定 Debian 是否真的这样做。

相关内容