libtool の-version-info や -release オプションで悩む
libtoolsを使うと、以下のようにして、ライブラリのバージョンをつけることができる。 libtool --mode=link ... -version-info 5:0:0
この場合、libfoo.so.5.0.0 という soname を持った 共有ライブラリが作成される。
$ libtool --mode=link ... -version-info :: current インターフェイス番号(インターフェイスが変わる時にインクリメント) revision 実装バージョン(インターフェイスが変わらない限り、ここが増えていく) age サポートする過去のインターフェイス番号の範囲で、current - age までの値のインターフェイス番号がサポートされる。
問題は 5:0:1 なんてした場合で、この場合は、libfoo.so.4.1.0 という soname を持った 共有ライブラリ作成されてしまう。
libtool --mode=link ... -version-info 5:0:1
libfoo.so.4.1.0