Boost logo

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