From: Phil Endecott (spam_from_boost_dev_at_[hidden])
Date: 2008-03-31 14:56:58
Steve M. Robbins wrote:
> is useful for a linux distribution (Debian) to keep
> multiple versions of Boost available simultaneously; e.g. 1.34.1 and
> 1.35. Currently Debian provides only the latest version of Boost.
I think Debian (and other distributions) must keep multiple versions available.
I have written a couple of GPL programs that currently require 1.34; a
Debian user who has compiled these from source will be unhappy if they
fail to work when they upgrade their Boost libraries. I could fix my
code to work with 1.35, but that will be broken for all those other
users who don't have 1.35 available in their distribution. So I'll
probably wait until there are Debian and Fedora releases including 1.35
before changing the stable version of my code to use it.
An alternative is for me to #if between the different versions. But my
life's too short to do that. (And if I did want to do it, how could I
install multiple versions on my Debian development machine?)
Things are less serious for programs that depend only on header-only
libraries, since they will only stop compiling rather than stop running
when you upgrade the libraries under their feet.
You then have to determine how to name the different Boost versions'
header directories and library files. And then how to tell the
applications' build systems what names you have chosen. I like
pkg-config for this, and did mention it on this list once but without
any apparent interest.
[Anyterm has been shipping with a version of Boost.Interprocess - at
that time called Boost.Shmem - included in its source tree since
December 2005 (doubling its size). The next Debian stable release
might happen before the end of this year. So that means that it will
have taken 3 years for that Boost code to "trickle down" to Linux
end-users. Ironically, I plan to deprecate the feature that needed
shared memory soon. It's worth noting that Debian, and presumably
other distributions, discourage including special versions of libraries
within the applications that use them. This is both to reduce the size
of the distribution and to avoid the scenario where a library security
bug has to be fixed in "hidden" copies of libraries. This problem with
a non-Boost library is one of the reasons why Anyterm has never been Debianised.]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk