[pkg-boost-devel] Bug#454815: FTBFS with GCC 4.3: missing #includes

Martin Michlmayr tbm at cyrius.com
Sat Dec 8 01:39:35 UTC 2007


Package: libboost-regex-dev
Usertags: ftbfs-gcc-4.3

Your package causes other packages to fail to build with GCC 4.3.
Version 4.3 has not been released yet but I'm building with a snapshot
in order to find errors and give people an advance warning.  In GCC
4.3, the C++ header dependencies have been cleaned up.  The advantage
of this is that programs will compile faster.  The downside is that
you actually need to directly #include everything you use (but you
really should do this anyway, otherwise your program won't work with
any compiler other than GCC).  There's some more information about
this at http://www.cyrius.com/journal/2007/05/10#gcc-4.3-include

You can reproduce this problem with gcc-snapshot from unstable.  Note
that Red Hat, Novell and Ubuntu have done some work getting packages
to build with GCC 4.3 so there might be patches floating around
somewhere.  I suggest you talk to your upstream.

> Automatic build of twinkle_1:1.1-2 on em64t by sbuild/amd64 0.53
...
> Making all in im
> make[4]: Entering directory `/build/tbm/twinkle-1.1/src/im'
> g++ -DHAVE_CONFIG_H -I. -I. -I../../src -I ../../src -I /usr/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -g -Wall -O2 -D_GNU_SOURCE -c -o msg_session.o msg_session.cpp
> In file included from /usr/include/boost/regex/v4/regex_traits.hpp:39,
>                  from /usr/include/boost/regex/regex_traits.hpp:27,
>                  from /usr/include/boost/regex/v4/regex.hpp:39,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/cpp_regex_traits.hpp:365: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/cpp_regex_traits.hpp: In member function 'boost::regex_constants::syntax_type boost::re_detail::cpp_regex_traits_char_layer<char>::syntax_type(char) const':
> /usr/include/boost/regex/v4/cpp_regex_traits.hpp:357: error: 'm_char_map' was not declared in this scope
> /usr/include/boost/regex/v4/cpp_regex_traits.hpp: In member function 'boost::regex_constants::escape_syntax_type boost::re_detail::cpp_regex_traits_char_layer<char>::escape_syntax_type(char) const':
> /usr/include/boost/regex/v4/cpp_regex_traits.hpp:361: error: 'm_char_map' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/regex.hpp:58,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/states.hpp: At global scope:
> /usr/include/boost/regex/v4/states.hpp:210: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/states.hpp:226: error: 'CHAR_BIT' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/regex.hpp:67,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/basic_regex.hpp:66: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex.hpp: In member function 'size_t boost::basic_regex<charT, traits>::max_size() const':
> /usr/include/boost/regex/v4/basic_regex.hpp:387: error: 'UINT_MAX' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/regex.hpp:70,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'boost::re_detail::re_syntax_base* boost::re_detail::basic_regex_creator<charT, traits>::append_set(const boost::re_detail::basic_char_set<charT, traits>&, mpl_::true_*)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:533: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:533: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:542: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:546: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:576: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:581: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:592: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:608: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:611: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:626: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:629: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:644: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:649: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:655: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:657: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:657: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'void boost::re_detail::basic_regex_creator<charT, traits>::fixup_pointers(boost::re_detail::re_syntax_base*)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:713: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:713: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'void boost::re_detail::basic_regex_creator<charT, traits>::create_startmaps(boost::re_detail::re_syntax_base*)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:801: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:803: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'void boost::re_detail::basic_regex_creator<charT, traits>::create_startmap(boost::re_detail::re_syntax_base*, unsigned char*, unsigned int*, unsigned char)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:920: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:970: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:985: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1007: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1022: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1024: error: 'struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1043: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1049: error: 'UCHAR_MAX' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1051: error: 'struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'void boost::re_detail::basic_regex_creator<charT, traits>::set_all_masks(unsigned char*, unsigned char)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1164: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1167: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'bool boost::re_detail::basic_regex_creator<charT, traits>::is_bad_repeat(boost::re_detail::re_syntax_base*)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1186: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_creator.hpp: In member function 'void boost::re_detail::basic_regex_creator<charT, traits>::set_bad_repeat(boost::re_detail::re_syntax_base*)':
> /usr/include/boost/regex/v4/basic_regex_creator.hpp:1209: error: 'CHAR_BIT' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/regex.hpp:73,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/basic_regex_parser.hpp: In member function 'bool boost::re_detail::basic_regex_parser<charT, traits>::parse_open_paren()':
> /usr/include/boost/regex/v4/basic_regex_parser.hpp:425: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/basic_regex_parser.hpp: In function 'bool boost::re_detail::valid_value(charT, int, const mpl_::true_&)':
> /usr/include/boost/regex/v4/basic_regex_parser.hpp:1350: error: 'CHAR_BIT' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/regex.hpp:88,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/perl_matcher.hpp: In function 'bool boost::re_detail::can_start(charT, const unsigned char*, unsigned char)':
> /usr/include/boost/regex/v4/perl_matcher.hpp:34: error: 'CHAR_BIT' was not declared in this scope
> /usr/include/boost/regex/v4/perl_matcher.hpp: In function 'bool boost::re_detail::can_start(short unsigned int, const unsigned char*, unsigned char)':
> /usr/include/boost/regex/v4/perl_matcher.hpp:50: error: 'CHAR_BIT' was not declared in this scope
> In file included from /usr/include/boost/regex/v4/perl_matcher.hpp:521,
>                  from /usr/include/boost/regex/v4/regex.hpp:88,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_alt()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:421: error: 'const struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:422: error: 'const struct boost::re_detail::re_alt' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_rep()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:465: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:466: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_slow()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:589: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_dot_repeat_fast()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:628: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_char_repeat()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:691: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_set_repeat()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:712: error: 'const struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:759: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_long_set_repeat()':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:828: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_greedy_single_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1008: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1014: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_slow_dot_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1063: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1078: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_fast_dot_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1116: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1132: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_char_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1183: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1198: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_short_set_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1225: error: 'const struct boost::re_detail::re_set' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1249: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1264: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::unwind_long_set_repeat(bool)':
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1316: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> /usr/include/boost/regex/v4/perl_matcher_non_recursive.hpp:1331: error: 'const struct boost::re_detail::re_repeat' has no member named '_map'
> In file included from /usr/include/boost/regex/v4/perl_matcher.hpp:524,
>                  from /usr/include/boost/regex/v4/regex.hpp:88,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/perl_matcher_common.hpp: In member function 'bool boost::re_detail::perl_matcher<BidiIterator, Allocator, traits>::match_set()':
> /usr/include/boost/regex/v4/perl_matcher_common.hpp:661: error: 'const struct boost::re_detail::re_set' has no member named '_map'
> In file included from /usr/include/boost/regex/v4/regex.hpp:166,
>                  from /usr/include/boost/regex.hpp:31,
>                  from ../../src/user.h:32,
>                  from msg_session.h:35,
>                  from msg_session.cpp:19:
> /usr/include/boost/regex/v4/regex_split.hpp: In function 'size_t boost::regex_split(OutputIterator, std::basic_string<charT, Traits1, Alloc1>&, const boost::basic_regex<charT, Traits2>&, boost::regex_constants::match_flag_type)':
> /usr/include/boost/regex/v4/regex_split.hpp:131: error: 'UINT_MAX' was not declared in this scope
> /usr/include/boost/regex/v4/regex_split.hpp: In function 'size_t boost::regex_split(OutputIterator, std::basic_string<charT, Traits1, Alloc1>&)':
> /usr/include/boost/regex/v4/regex_split.hpp:138: error: 'UINT_MAX' was not declared in this scope
> make[4]: *** [msg_session.o] Error 1
> make[4]: Leaving directory `/build/tbm/twinkle-1.1/src/im'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/build/tbm/twinkle-1.1/src'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/build/tbm/twinkle-1.1/src'
> make[1]: *** [all-recursive] Error 1

-- 
Martin Michlmayr
http://www.cyrius.com/





More information about the pkg-boost-devel mailing list