Boost logo

Boost :

Subject: Re: [boost] [bcp] Bcp namespace rename causes compile errors onmultiple libraries (type_traits, range, spirit, foreach, regex, iostreams) in 1.43
From: John Maddock (boost.regex_at_[hidden])
Date: 2010-05-28 04:09:43


> Has bcp namespace renaming been tested against all Boost libraries in
> 1.43? I'm getting compile errors in (or caused by) the following
> libraries: type_traits, range, spirit, foreach, regex, iostreams (more
> details later in this message). The compile errors are from a full bjam
> build of Boost. I haven't compiled tests or built against my work project
> code, so I suspect there's more errors in header-only libraries.

Thanks for the report - the namespace substitution was tested, but we don't
have automated tests for it - in fact full tests would be rather difficult
to contrive, because as well as requiring that the modified code compile on
it's own, we should also require that two different Boost versions work side
by side.

> I'm using g++ 4.1.2 on Linux (although these errors are not compiler
> specific - I'll also be compiling with VC++ 8.0 at some point).
>
> All of these errors are easily fixed, and are "boost" text substitution
> problems. I was able to get all libraries to build after my changes, but I
> would rather not use hacked-up source (I prefer to work with the Boost
> developers and install non-modified Boost source into our Clearcase COTS
> VOB).
>
> However, with these (obvious) compile errors, I'm wondering if the bcp
> namespace facilities are being tested with all Boost libraries? If not,
> can I work with John Maddock or someone to set up a test process? Besides
> doing a full extract / rename and build of the libraries, as many examples
> and tests as possible should also be compiled to find errors in
> header-only libraries not brought in to the library source build.

If you have the facilities to run a full test run after bcp substitution
that would be great - the results would need to be compared to the results
obtained without the substitution.

> Of course it's possible all of the errors I've found have been introduced
> with new code in 1.43 (which still brings up the need to do a full bcp
> test before a Boost release), or that I somehow incorrectly used bcp, or
> there's fixes that haven't been applied to the mainline in SVN.

I suspect that the heuristics used aren't quite up to the job: I don't
remember the details, but simply performing a global search and replace for
"boost" doesn't quite work either :-(

I will look into and try and fix all the issues you identify as soon as I
can,

Thanks for reporting these!

John.


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