Top level CMakeLists.txt has (lines 49-52)
SET(OPENSCENEGRAPH_MAJOR_VERSION 3)
SET(OPENSCENEGRAPH_MINOR_VERSION 2)
SET(OPENSCENEGRAPH_PATCH_VERSION 1)
SET(OPENSCENEGRAPH_SOVERSION 100)

and hence names the libraries (on Linux) libosg*.so.3.2.1 with links from libosg*.so.100.

However, src/OpenThreads/CMakeLists.txt has (lines 5-8)
SET(OPENTHREADS_MAJOR_VERSION 3)
SET(OPENTHREADS_MINOR_VERSION 2)
SET(OPENTHREADS_PATCH_VERSION 0)
SET(OPENTHREADS_SOVERSION 13)

which names the library libOpenThreads.so.3.2.0. Is that an oversight or a deliberate attempt to keep binary compatibility?

(The link from libOpenThreads.so.13 is less useful in that case, as in Debian/Ubuntu it's overridden to libOpenThreads.so.15; the Debian changelog suggests this is left over from when 2.8.x twice had (at least what they considered) an ABI break while remaining officially .so.11. There may be ways to end that split, see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731261#30, but it's not my decision to make).
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to