BIND10 1.0.0 Build Error with Boost 1.53.0

Spain, Dr. Jeffry A. spainj at countryday.net
Mon Mar 4 00:23:40 UTC 2013


I'm attempting to build BIND10 1.0.0 with the latest available versions of the prerequisites: Boost 1.53.0, Botan 1.10.4, Log4CPlus 1.0.4.3, SQLLite 3.7.15.2, and Python 3.3.0. The build fails with the error messages shown below, and Boost appears to be the problem. The file bind10-1.0.0/src/lib/util/encode/base_n.cc triggers the errors by including  boost/archive/iterators/transform_width.hpp. I can send a complete log file of the installation if that would be helpful or at least more readable. The build succeeds with Boost 1.52.0. The failure with Boost 1.53.0 occurs with either Ubuntu 12.04LTS using g++ 4.6.3 or Ubuntu 12.10 using g++ 4.7.2. Thanks. Jeff.

Jeffry A. Spain, Network Administrator
Cincinnati Country Day School

--------------------

libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/lib -I../../../src/lib -I../../../src/lib/util -I../../../src/lib/util -I../../../src/lib/exceptions -I../../../src/lib/exceptions -DLOCKFILE_DIR=\"/var/bind10\" -DOS_LINUX -I../../../ext/asio -I../../../ext/coroutine -DASIO_DISABLE_THREADS=1 -Wall -Wextra -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -Werror -fPIC -g -O2 -MT base_n.lo -MD -MP -MF .deps/base_n.Tpo -c encode/base_n.cc  -fPIC -DPIC -o .libs/base_n.o
In file included from encode/base_n.cc:23:0:
/usr/include/boost/archive/iterators/transform_width.hpp: In instantiation of ‘void boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::fill() [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 6; int BitsIn = 8; CharType = unsigned char]’:
/usr/include/boost/archive/iterators/transform_width.hpp:71:13:   required from ‘CharType boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::dereference() const [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 6; int BitsIn = 8; CharType = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   required from ‘boost::iterator_facade<I, V, TC, R, D>::reference boost::iterator_facade<I, V, TC, R, D>::operator*() const [with Derived = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8>; Value = unsigned char; CategoryOrTraversal = boost::single_pass_traversal_tag; Reference = unsigned char; Difference = long int; boost::iterator_facade<I, V, TC, R, D>::reference = unsigned char]’
/usr/include/boost/iterator/transform_iterator.hpp:121:31:   required from ‘typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference boost::transform_iterator<UnaryFunction, Iterator, Reference, Value>::dereference() const [with UnaryFunc = boost::archive::iterators::detail::from_6_bit<unsigned char>; Iterator = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8>; Reference = boost::use_default; Value = boost::use_default; typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::transform_iterator<boost::archive::iterators::detail::from_6_bit<unsigned char>, boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8>, boost::use_default, boost::use_default>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   [ skipping 4 instantiation contexts ]
/usr/include/c++/4.7/bits/basic_string.tcc:231:55:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/4.7/bits/basic_string.tcc:660:35:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::_M_replace_dispatch(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1627:66:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1155:71:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>]’
encode/base_n.cc:266:5:   required from ‘static std::string isc::util::encode::{anonymous}::BaseNTransformer<BitsPerChunk, BaseZeroCode, Encoder, Decoder>::encode(const std::vector<unsigned char>&) [with int BitsPerChunk = 6; char BaseZeroCode = 'A'; Encoder = boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 6, 8> >; Decoder = boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base64<isc::util::encode::{anonymous}::DecodeNormalizer>, 8, 6>; std::string = std::basic_string<char>]’
encode/base_n.cc:392:32:   required from here
/usr/include/boost/archive/iterators/transform_width.hpp:144:17: error: no ‘operator++(int)’ declared for postfix ‘++’ [-fpermissive]
/usr/include/boost/archive/iterators/transform_width.hpp: In instantiation of ‘void boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::fill() [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 5; int BitsIn = 8; CharType = unsigned char]’:
/usr/include/boost/archive/iterators/transform_width.hpp:71:13:   required from ‘CharType boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::dereference() const [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 5; int BitsIn = 8; CharType = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   required from ‘boost::iterator_facade<I, V, TC, R, D>::reference boost::iterator_facade<I, V, TC, R, D>::operator*() const [with Derived = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8>; Value = unsigned char; CategoryOrTraversal = boost::single_pass_traversal_tag; Reference = unsigned char; Difference = long int; boost::iterator_facade<I, V, TC, R, D>::reference = unsigned char]’
/usr/include/boost/iterator/transform_iterator.hpp:121:31:   required from ‘typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference boost::transform_iterator<UnaryFunction, Iterator, Reference, Value>::dereference() const [with UnaryFunc = boost::archive::iterators::detail::from_5_bit<unsigned char>; Iterator = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8>; Reference = boost::use_default; Value = boost::use_default; typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::transform_iterator<boost::archive::iterators::detail::from_5_bit<unsigned char>, boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8>, boost::use_default, boost::use_default>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   [ skipping 4 instantiation contexts ]
/usr/include/c++/4.7/bits/basic_string.tcc:231:55:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = boost::archive::iterators::base32hex_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/4.7/bits/basic_string.tcc:660:35:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::_M_replace_dispatch(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = boost::archive::iterators::base32hex_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1627:66:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base32hex_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1155:71:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base32hex_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>]’
encode/base_n.cc:266:5:   required from ‘static std::string isc::util::encode::{anonymous}::BaseNTransformer<BitsPerChunk, BaseZeroCode, Encoder, Decoder>::encode(const std::vector<unsigned char>&) [with int BitsPerChunk = 5; char BaseZeroCode = '0'; Encoder = boost::archive::iterators::base32hex_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 5, 8> >; Decoder = boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base32hex<isc::util::encode::{anonymous}::DecodeNormalizer>, 8, 5>; std::string = std::basic_string<char>]’
encode/base_n.cc:402:35:   required from here
/usr/include/boost/archive/iterators/transform_width.hpp:144:17: error: no ‘operator++(int)’ declared for postfix ‘++’ [-fpermissive]
/usr/include/boost/archive/iterators/transform_width.hpp: In instantiation of ‘void boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::fill() [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 4; int BitsIn = 8; CharType = unsigned char]’:
/usr/include/boost/archive/iterators/transform_width.hpp:71:13:   required from ‘CharType boost::archive::iterators::transform_width<Base, BitsOut, BitsIn, CharType>::dereference() const [with Base = isc::util::encode::{anonymous}::EncodeNormalizer; int BitsOut = 4; int BitsIn = 8; CharType = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   required from ‘boost::iterator_facade<I, V, TC, R, D>::reference boost::iterator_facade<I, V, TC, R, D>::operator*() const [with Derived = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8>; Value = unsigned char; CategoryOrTraversal = boost::single_pass_traversal_tag; Reference = unsigned char; Difference = long int; boost::iterator_facade<I, V, TC, R, D>::reference = unsigned char]’
/usr/include/boost/iterator/transform_iterator.hpp:121:31:   required from ‘typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference boost::transform_iterator<UnaryFunction, Iterator, Reference, Value>::dereference() const [with UnaryFunc = boost::archive::iterators::detail::from_4_bit<unsigned char>; Iterator = boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8>; Reference = boost::use_default; Value = boost::use_default; typename boost::detail::transform_iterator_base<UnaryFunc, Iterator, Reference, Value>::type::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:514:32:   required from ‘static typename Facade::reference boost::iterator_core_access::dereference(const Facade&) [with Facade = boost::transform_iterator<boost::archive::iterators::detail::from_4_bit<unsigned char>, boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8>, boost::use_default, boost::use_default>; typename Facade::reference = unsigned char]’
/usr/include/boost/iterator/iterator_facade.hpp:639:67:   [ skipping 4 instantiation contexts ]
/usr/include/c++/4.7/bits/basic_string.tcc:231:55:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>::basic_string(_InputIterator, _InputIterator, const _Alloc&) [with _InputIterator = boost::archive::iterators::base16_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’
/usr/include/c++/4.7/bits/basic_string.tcc:660:35:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::_M_replace_dispatch(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator, std::__false_type) [with _InputIterator = boost::archive::iterators::base16_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1627:66:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::replace(std::basic_string<_CharT, _Traits, _Alloc>::iterator, std::basic_string<_CharT, _Traits, _Alloc>::iterator, _InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base16_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>; std::basic_string<_CharT, _Traits, _Alloc>::iterator = __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >; typename _Alloc::rebind<_CharT>::other::pointer = char*]’
/usr/include/c++/4.7/bits/basic_string.h:1155:71:   required from ‘std::basic_string<_CharT, _Traits, _Alloc>& std::basic_string<_CharT, _Traits, _Alloc>::assign(_InputIterator, _InputIterator) [with _InputIterator = boost::archive::iterators::base16_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8> >; _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>; std::basic_string<_CharT, _Traits, _Alloc> = std::basic_string<char>]’
encode/base_n.cc:266:5:   required from ‘static std::string isc::util::encode::{anonymous}::BaseNTransformer<BitsPerChunk, BaseZeroCode, Encoder, Decoder>::encode(const std::vector<unsigned char>&) [with int BitsPerChunk = 4; char BaseZeroCode = '0'; Encoder = boost::archive::iterators::base16_from_binary<boost::archive::iterators::transform_width<isc::util::encode::{anonymous}::EncodeNormalizer, 4, 8> >; Decoder = boost::archive::iterators::transform_width<boost::archive::iterators::binary_from_base16<isc::util::encode::{anonymous}::DecodeNormalizer>, 8, 4>; std::string = std::basic_string<char>]’
encode/base_n.cc:412:32:   required from here
/usr/include/boost/archive/iterators/transform_width.hpp:144:17: error: no ‘operator++(int)’ declared for postfix ‘++’ [-fpermissive]
make[5]: *** [base_n.lo] Error 1
make[4]: *** [all-recursive] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2



More information about the bind10-users mailing list