|
Boost : |
Subject: Re: [boost] [Config] Multiple versions of Boost
From: Chris Newbold (Chris.Newbold_at_[hidden])
Date: 2008-09-16 07:20:38
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]]
> On Behalf Of David Abrahams
> Sent: Monday, September 15, 2008 1:49 PM
> on Sun Sep 14 2008, Stefan Seefeld <seefeld-AT-sympatico.ca> wrote:
> > I figure the main reason people are urged to use multiple boost versions
> > side-by-side is because of API incompatibilities between them.
>
> More like ABI incompatibility. Our APIs have been relatively stable,
> IMO, but if you have precompiled binaries from one vendor that uses 1.34
> and from another that uses 1.35, what choice do you have?
We have a somewhat unique twist on this. We dynamically-link our application against several Boost shared libraries, but we also have a facility for our customers to build plug-ins which can be loaded into our application. The plug-ins take the form of shared libraries.
Some customers have run into difficulty using Boost within the plug-ins they build due to version conflicts between the version our application is using and the version the customer is using.
This isn't strictly an ABI issue-- Boost classes never cross the boundary of plug-ins. But it has some of the same issues, since loading two different shared libraries which define the same symbols creates a real mess.
Putting Boost into a versioned namespace and using namespace aliasing at build time could allow multiple versions to co-exist within a single process.
Admittedly our use-case is on the fringe.
-Chris
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk