Boost logo

Boost :

From: braden_mcdaniel (braden_at_[hidden])
Date: 2002-02-27 10:36:04


--- In boost_at_y..., John Maddock <John_Maddock_at_c...> wrote:
>
> >Let's see ... The biggest one is regex. At the moment I'm using a C++
> >wrapper around the Posix <regex.h> facilities (my code doesn't need to
> >be portable to non-Posix systems), which does what I want but (being C)
> >is very unsatisfactory from the internationalisation point of view. I'm
> >currently thinking that my best approach would be to extract the regex
> >library from boost, remove the boost dependencies, and distribute it
> >myself, since it already has a pretty good confifgure/install system of
> >its own.
>
> BTW regex is available separately from boost from my homepages if
you just
> want that, and not the whole boost package.
>
> >Because there's no way for end users to install them.
>
> In all probability end users should not install boost - there are
several
> things (threading support being one) - which may result in binary
> incompatibilities in object/library files depending how they are built.
>
> By far the best way to manage boost is to distribute it as "part of"
your
> application, and static link to all boost libs, otherwise you will be in
> for some unintended consequences if someone replaces your build of
> libboost_regex.so with something that's not compatible 'cos it was built
> with different compiler options, or is a binary incompatible version (at
> this stage it not clear to me at least what binary compatibility
means for
> C++ code, and what changes will break it - it is way more complex
than C).

Bah.

*Lots* of libraries have compile-time options that can result in
binary incompatibility. And yet somehow, binary package distributions
for Linux systems manage not only to be usable, but *very* useful to
users.

The issues you mention are real, and it is important to be mindful of
them. But you overstate their effect. The conclusion that these
circumstances mean, "By far the best way to manage boost is to
distribute it as 'part of' your application," is fallacy. The millions
of happy hapless binary Linux distribution users are testament to that.

Braden


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk