Subject: Re: [boost] [Booster] Or boost is useless for library developers
From: Stewart, Robert (Robert.Stewart_at_[hidden])
Date: 2010-05-18 07:43:53
Isidor Zeuner wrote:
> > More then that, under ELF platforms (Linux, Solaris,
> > BSD) there is
> > even bigger issue because this may happen even if you do not
> > share classes explicitly between libfoo and your app.
> > Because all
> > symbols are uniquely mapped so user of libfoo may get boost-1.35
> > symbols even if they are used internally.
> Now this is an interesting issue. We stumbled over the same issue when
> discussing how to best integrate boost in CLucene (). I think boost
> could use a user-controlled name mangling facility so a binary library
> distributor could make sure the symbols from the boost he ships do not
> collide with boost symbols in other code.
We manage all of this stuff quite easily. We have multiple, staged Boost releases on our servers (auto mounted on *nix and in subdirectories of a fixed location on a Windows server mapped to a fixed drive letter on the client machines). Each application or shared library (DSO or DLL) has runtime path information compiled in, so it knows the versions of the shared libraries it needs. The various releases of our in-house shared libraries are also staged on the servers. Thus, various applications can run on the same box, dynamically linking to whichever libraries it was built against.
The assumption that a library client can, or should be able to, use whatever Boost build they happen to have lying about with their code while using a third party library built with another version of Boost is the problem.
Rob Stewart robert.stewart_at_[hidden]
Software Engineer, Core Software using std::disclaimer;
Susquehanna International Group, LLP http://www.sig.com
IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk