Jonathan Turkanis wrote:
This appears to be the GCC 4.0 + SFINAE + anonymous enum problem discussed in this thread: http://lists.boost.org/Archives/boost/2005/08/91958.php. I'd guess that Date_Time is using anonymous enum (directly or indirectly) and it's interfering with a SFINAE'd operator in Iostreams, or vice versa. Even if I can fix the interaction between Date_Time and Iostreams, it may still be a problem when one of the two libraries is used with certain non-Boost libraries.
OK. I've seen that this was a problem with anonymous enums, but I haven't found the exact reason.
I'll work on fixing it. In the mean time, it would be helpful if you could name the several anonymous enums defined in Iostreams and report back. E.g., at line 148 of boost/iostreams/filter/aggregate.hpp, change
There is more files with anonymous enums in iostream. a quick grep gives this: $ rgrep "enum {" boost/iostreams/* boost/iostreams/code_converter.hpp: enum { boost/iostreams/detail/streambuf/indirect_streambuf.hpp: enum { boost/iostreams/filter/line.hpp: enum { boost/iostreams/filter/symmetric.hpp: enum { boost/iostreams/filter/gzip.hpp: enum { boost/iostreams/filter/gzip.hpp: enum { boost/iostreams/filter/aggregate.hpp: enum { I changed them, and the example in my first post compiles, with both gzip and bzip2 filters. Patch attached. Thanks for the quick response
Jonathan