[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Boost libraries name change (again)

**NOTE** **NOTE** **NOTE** **NOTE** **NOTE** **NOTE** **NOTE** 

The boost library short name has changed semantics in Debian.  Prior
to 1.34.0-1, the short name was multi-threaded.  Now it is single

**NOTE** **NOTE** **NOTE** **NOTE** **NOTE** **NOTE** **NOTE** 


A new version of the Boost C++ libraries was been uploaded to
unstable last night, so I thought I'd send an update on the
state of boost -- particularly the library names.

Boost library names encode the SOVERSION and build characteristics of
the library, including the compiler used (gcc41) and whether
multi-threading is enabled (-mt if so).  This leads to long names like
that are hard to discover in the build system of boost-using software.

Prior to 1.34.0-1, the previous upload to unstable, the Debian
packages provided a NON-PORTABLE short form of the library name as a
convenience.  The short form (e.g. libboost_wserialization.so) did not
have the compiler or "-mt" strings in the name, even though it was the
multi-thread flavour.

Other distributions, e.g. Fedora, use the so-called "layout=system"
install and also have shorter-named boost libraries.  However, the
short-named libraries are the single-threaded flavour.  The
multi-threaded flavour has "-mt" appended,
e.g. libboost_wserialization-mt.so).

On the last upload to unstable (in May), we replaced the single
shorter-named library with a pair: the multithreaded version with -mt
suffix and the singlethreaded version with -st suffix.  The removal of
the shortcut library name broke several dependent packages and,
understandably, caught folks off-guard.  We apologize for that

After some discussion, both internal and on bug reports #429533,
#424038, #425264, #428419, #431502, and #425992, we decided to remove
the "-st" suffix, restoring the short-name library and bringing our
names in line with "layout=system", hence compatible with other
distributions.  This means that the short name has changed semantics
from being the multi-threaded flavour to being now the single-threaded
flavour.  We realize this is going to cause some upheaval yet again,
and we apologize for that.  Hopefully we can agree that keeping API
compatibility across distributions is worthwhile.

To summarize what this means for you:

1. If you're linking to libboostX for a multi-threaded application,
   append "-mt".
2. If you're linking to libboostX-st, remove the "-st".

Otherwise, relax.

	Other changes with this upload

* It is built with the current python, version 2.4.  There is no
python 2.5 packages at present.  We intend to seek upstream support
for parallel installs Boost.Python.  Email if you have any

* No pkgconfig support yet.  We intend to work with upstream and other
* distributions on this.  Email if you have any suggestions.

On behalf of the Debian Boost Team,

Attachment: signature.asc
Description: Digital signature

Reply to: