linux-rdma / opensm

Other
66 stars 36 forks source link

libopensm version #19

Closed Honggang-LI closed 4 years ago

Honggang-LI commented 4 years ago

opensm-3.3.23 release based on d35a20f3be113e03316ca6c3afb7d19975772d8d. commit 16df3def7d22ffe7a804106083237959c4fcf91a bumps the version of libopensm 9:0:0 -> 10:0:1.

However, package opensm-libs-3.3.23 built from https://github.com/linux-rdma/opensm/releases/download/3.3.23/opensm-3.3.23.tar.gz includes /usr/lib64/libopensm.so.9.1.0. The version in shared library name mismatch with file libopensm/libopensm.ver.

This version mismatch will introduce serious RPM package and library API dependency issue.

(master)]$ cat libopensm/libopensm.ver

In this file we track the current API version

of the opensm common interface (and libraries)

The version is built of the following

tree numbers:

API_REV:RUNNING_REV:AGE

API_REV - advance on any added API

RUNNING_REV - advance any change to the vendor files

AGE - number of backward versions the API still supports

LIBVERSION=10:0:1

tamirronen commented 4 years ago

soname (libopensm.so.9.1.0) and soversion (10:0:1) are two different numbers. Although soname derived from soversion it can be a different number. You can find additional information on this link: https://flameeyes.blog/2009/04/22/shared-object-version Do you still see a problem here?

Honggang-LI commented 4 years ago

AGE - number of backward versions the API still supports

LIBVERSION=10:0:1 ^ Does this tailing '1' means 'LIBVERSION=9:0:0' and 'IBVERSION=10:0:1' are compatible?

Honggang-LI commented 4 years ago

ping?

tamirronen commented 4 years ago

Yes. Since the new version (10) only added new API, without breaking the old API, it supports the older version (9). This is indicated by the AGE number set to one.

Honggang-LI commented 4 years ago

Thanks and close it.