I'm wondering why the SONAME in libpython.so has a minor revision encoded in it; for example (on Linux):
$ readelf -d libpython2.6.so | grep SONAME 0x0000000e (SONAME) Library soname: [libpython2.6.so.1.0] Because of this, if I compile an app against this library (with '-L/ usr/lib -lpython2.6), the compiled app has a dependency in this precise minor revision of libpython2.6.so: $ readelf -d myApp | grep libpython 0x0000000000000001 (NEEDED) Shared library: [libpython2.6.so.1.0] So, for example, if I upgrade to libpython2.6.so.1.1, my app will not be able to run. I am currently having this problem while integrating a piece of third-party software that uses an embedded python interpreter. This is unusual for libraries of this kind. Typically, the SONAME will contain only the major revision, on the assumption that all the minor revisions conform to the same public API, and are nominally interchangeable. Am I to assume that minor version iterations have incompatible API's? Thanks in advance for any guidance. -- http://mail.python.org/mailman/listinfo/python-list