libgmp10 라이브러리의 10은 무엇을 의미합니까?

libgmp10 라이브러리의 10은 무엇을 의미합니까?

내 시스템 libgmp.so.10.2.0공식 출처현재 버전이 이라고 가정해 보겠습니다 6.1.2.

이것이 GMP에만 해당됩니까? 괜찮았을까요 libgmp.so.42.0.0?

데비안은 또 다른 숫자 "2"를 추가했습니다(패치 무시).

libgmp10:amd64  2:6.0.0+dfsg-6

답변1

당신은 의미합니까?라이브러리 도구 버전, 일반적으로 라이브러리의 릴리스 버전과 독립적입니다.

소스 코드를 잠깐 살펴보면 버전이 다음으로 설정되어 있음을 알 수 있습니다.Makefile.am, 기록 요약을 제공하는 값 앞에 주석 블록이 있습니다.

다음 블록에서는 데비안 패키지 번호를 볼 수 있습니다(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

데비안 정책SONAME이 변경될 때마다 패키지 이름을 변경해야 합니다(다른 사람들이 버전 번호와 관련하여 올바르게 지적했듯이). 인터페이스 번호 10는 version 에 있으므로 5.0.x패키지 이름의 일부로 만드는 것이 가장 좋습니다.

릴리스는 인터페이스 번호를 "제공"할 수 있다는 것을 5.1.0의미합니다 . 데비안이 실제로 이를 수행하는지 확실하지 않습니다.age = 11011

관련 정보