Boost logo

Boost :

From: Jeff Garland (jeff_at_[hidden])
Date: 2006-06-07 23:44:51


I'm having a problem compiling date-time on Linux/g++4.0 on the release
candidate branch. Looks like a change in the Range library has broken
the string_algo interface causing the issue. This date-time code is
unchanged and compiles fine under a rather old version of the CVS head.
  I updated and compared string algorithms/date_time in my CVS head to
the 1.34 release candidate and they are the same. However, Range is
radically different in my 'old' CVS head compared to my current 1.34.

No telling why this hasn't broken the regression tests....

Thorsten ideas?

Jeff

Detailed output....
-----------------------------------------------------------------------
    set -e
     "g++-4.0" -c -DBOOST_DATE_TIME_POSIX_TIME_STD_CONFIG
-DBOOST_DATE_TIME_STATIC_LINK -DBOOST_ALL_NO_LIB -g -O0 -fno-inline
-Wall -ftemplate-depth-255 -I"../../../bin/boost/libs/date_time/test"
-I "/home/jeff/devTools/boost_rc_1_34" -o
"../../../bin/boost/libs/date_time/test/testtime_input_facet.test/gcc/debug/testtime_input_facet.o"
"posix_time/testtime_input_facet.cpp"
     "/usr/bin/objcopy" --set-section-flags .debug_str=contents,debug
"../../../bin/boost/libs/date_time/test/testtime_input_facet.test/gcc/debug/testtime_input_facet.o"

...failed gcc-C++-action
../../../bin/boost/libs/date_time/test/testtime_input_facet.test/gcc/debug/testtime_input_facet.o...
...skipped
<@boost!libs!date_time!test/testtime_input_facet.test/gcc/debug>testtime_input_facet
for lack of
<@boost!libs!date_time!test/testtime_input_facet.test/gcc/debug>testtime_input_facet.o...
gcc-C++-action
../../../bin/boost/libs/date_time/test/testtime_facet.test/gcc/debug/testtime_facet.o
/home/jeff/devTools/boost_rc_1_34/boost/range/const_iterator.hpp: In
instantiation of ‘boost::range_const_iterator<const char*>’:
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp:653:
   instantiated from ‘void boost::algorithm::replace_all(SequenceT&,
const Range1T&, const Range2T&) [with SequenceT =
std::basic_string<char, std::char_traits<char>, std::allocator<char> >,
Range1T = const char*, Range2T = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/time_facet.hpp:255:
instantiated from ‘OutItrT boost::date_time::time_facet<time_type,
CharT, OutItrT>::put(OutItrT, std::ios_base&, typename
boost::date_time::date_facet<typename time_type::date_type, CharT,
OutItrT>::char_type, const time_type&) const [with time_type =
boost::posix_time::ptime, CharT = char, OutItrT =
std::ostreambuf_iterator<char, std::char_traits<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/posix_time/posix_time_io.hpp:51:
   instantiated from ‘std::basic_ostream<_CharT, _Traits>&
boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&,
const boost::posix_time::ptime&) [with CharT = char, TraitsT =
std::char_traits<char>]’
posix_time/testtime_facet.cpp:59: instantiated from here

/home/jeff/devTools/boost_rc_1_34/boost/range/const_iterator.hpp:37:
error: ‘const char*’ is not a class, struct, or union type
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp: In
function ‘void boost::algorithm::replace_all(SequenceT&, const Range1T&,
const Range2T&) [with SequenceT = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Range1T = const char*,
Range2T = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >]’:
/home/jeff/devTools/boost_rc_1_34/boost/date_time/time_facet.hpp:255:
instantiated from ‘OutItrT boost::date_time::time_facet<time_type,
CharT, OutItrT>::put(OutItrT, std::ios_base&, typename
boost::date_time::date_facet<typename time_type::date_type, CharT,
OutItrT>::char_type, const time_type&) const [with time_type =
boost::posix_time::ptime, CharT = char, OutItrT =
std::ostreambuf_iterator<char, std::char_traits<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/posix_time/posix_time_io.hpp:51:
   instantiated from ‘std::basic_ostream<_CharT, _Traits>&
boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&,
const boost::posix_time::ptime&) [with CharT = char, TraitsT =
std::char_traits<char>]’
posix_time/testtime_facet.cpp:59: instantiated from here
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp:653:
error: no matching function for call to ‘first_finder(const char* const&)’
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp: In
function ‘void boost::algorithm::replace_all(SequenceT&, const Range1T&,
const Range2T&) [with SequenceT = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Range1T = const char*,
Range2T = char [1]]’:
/home/jeff/devTools/boost_rc_1_34/boost/date_time/time_facet.hpp:266:
instantiated from ‘OutItrT boost::date_time::time_facet<time_type,
CharT, OutItrT>::put(OutItrT, std::ios_base&, typename
boost::date_time::date_facet<typename time_type::date_type, CharT,
OutItrT>::char_type, const time_type&) const [with time_type =
boost::posix_time::ptime, CharT = char, OutItrT =
std::ostreambuf_iterator<char, std::char_traits<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/posix_time/posix_time_io.hpp:51:
   instantiated from ‘std::basic_ostream<_CharT, _Traits>&
boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&,
const boost::posix_time::ptime&) [with CharT = char, TraitsT =
std::char_traits<char>]’
posix_time/testtime_facet.cpp:59: instantiated from here
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp:653:
error: no matching function for call to ‘first_finder(const char* const&)’
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/erase.hpp: In
function ‘void boost::algorithm::erase_all(SequenceT&, const RangeT&)
[with SequenceT = std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, RangeT = const char*]’:
/home/jeff/devTools/boost_rc_1_34/boost/date_time/time_facet.hpp:377:
instantiated from ‘OutItrT boost::date_time::time_facet<time_type,
CharT, OutItrT>::put(OutItrT, std::ios_base&, typename
boost::date_time::date_facet<typename time_type::date_type, CharT,
OutItrT>::char_type, const time_type&) const [with time_type =
boost::posix_time::ptime, CharT = char, OutItrT =
std::ostreambuf_iterator<char, std::char_traits<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/posix_time/posix_time_io.hpp:51:
   instantiated from ‘std::basic_ostream<_CharT, _Traits>&
boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&,
const boost::posix_time::ptime&) [with CharT = char, TraitsT =
std::char_traits<char>]’
posix_time/testtime_facet.cpp:59: instantiated from here
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/erase.hpp:592:
error: no matching function for call to ‘first_finder(const char* const&)’
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp: In
function ‘void boost::algorithm::replace_all(SequenceT&, const Range1T&,
const Range2T&) [with SequenceT = std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, Range1T = const char*,
Range2T = const char*]’:
/home/jeff/devTools/boost_rc_1_34/boost/date_time/time_facet.hpp:400:
instantiated from ‘OutItrT boost::date_time::time_facet<time_type,
CharT, OutItrT>::put(OutItrT, std::ios_base&, typename
boost::date_time::date_facet<typename time_type::date_type, CharT,
OutItrT>::char_type, const typename time_type::time_duration_type&)
const [with time_type = boost::posix_time::ptime, CharT = char, OutItrT
= std::ostreambuf_iterator<char, std::char_traits<char> >]’
/home/jeff/devTools/boost_rc_1_34/boost/date_time/posix_time/posix_time_io.hpp:190:
   instantiated from ‘std::basic_ostream<_CharT, _Traits>&
boost::posix_time::operator<<(std::basic_ostream<_CharT, _Traits>&,
const boost::posix_time::time_duration&) [with CharT = char, Traits =
std::char_traits<char>]’
posix_time/testtime_facet.cpp:62: instantiated from here
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp:653:
error: no matching function for call to ‘first_finder(const char* const&)’
/home/jeff/devTools/boost_rc_1_34/boost/range/const_iterator.hpp: At
global scope:
/home/jeff/devTools/boost_rc_1_34/boost/range/const_iterator.hpp: In
instantiation of ‘boost::range_const_iterator<const wchar_t*>’:
/home/jeff/devTools/boost_rc_1_34/boost/algorithm/string/replace.hpp:653:
   instantiated from ‘void boost::algorithm::replace_all(SequenceT&,
const Range1T&, const Range2T&) [with SequenceT =
std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >, Range1T = const wchar_t*, Range2T =
std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >]’


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