[SERVER-10122] i686 version does not build with boost 1.54 Created: 07/Jul/13  Updated: 10/Dec/14  Resolved: 09/Jul/13

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: 2.4.5
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Felix Yan Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Arch Linux i686 clean chroot with boost 1.54


Operating System: Linux
Steps To Reproduce:

Install boost 1.54 and enable --use-system-boost

Participants:

 Description   

In file included from /usr/include/boost/date_time/string_parse_tree.hpp:13:0,
from /usr/include/boost/date_time/period_parser.hpp:14,
from /usr/include/boost/date_time/date_facet.hpp:23,
from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:16, from /usr/include/boost/date_time/gregorian/gregorian.hpp:31,
from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
from src/mongo/util/time_support.h:23, from src/mongo/util/concurrency/mutex.h:31,
from src/mongo/util/goodies.h:25,
from src/mongo/pch.h:78,
from src/mongo/client/dbclient.h:30,
from src/mongo/dbtests/macrotests.cpp:61:
/usr/include/boost/lexical_cast.hpp:320:48: error: 'int128_type' is not a member of 'boost'
template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {}; ^
/usr/include/boost/lexical_cast.hpp:320:48: error: 'int128_type' is not a member of 'boost'
/usr/include/boost/lexical_cast.hpp:320:67: error: template argument 1 is invalid
template <> struct stream_char_common< boost::int128_type >: public boost::mpl::identity< char > {}; ^
/usr/include/boost/lexical_cast.hpp:321:48: error: 'uint128_type' is not a member of 'boost'
template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {};
^
/usr/include/boost/lexical_cast.hpp:321:48: error: 'uint128_type' is not a member of 'boost'
/usr/include/boost/lexical_cast.hpp:321:68: error: template argument 1 is invalid
template <> struct stream_char_common< boost::uint128_type >: public boost::mpl::identity< char > {}; ^
/usr/include/boost/lexical_cast.hpp:617:9: error: 'int128_type' is not a member of 'boost'
BOOST_LCAST_DEF(boost::int128_type)
^/usr/include/boost/lexical_cast.hpp:617:9: error: 'int128_type' is not a member of 'boost'
/usr/include/boost/lexical_cast.hpp:617:9: error: template argument 1 is invalid
BOOST_LCAST_DEF(boost::int128_type)
^
/usr/include/boost/lexical_cast.hpp:617:9: error: 'int128_type' is not a member of 'boost'
BOOST_LCAST_DEF(boost::int128_type)
^
/usr/include/boost/lexical_cast.hpp:618:9: error: 'uint128_type' is not a member of 'boost'
BOOST_LCAST_DEF(boost::uint128_type)
^/usr/include/boost/lexical_cast.hpp:618:9: error: 'uint128_type' is not a member of 'boost'
/usr/include/boost/lexical_cast.hpp:618:9: error: template argument 1 is invalid
BOOST_LCAST_DEF(boost::uint128_type)
^/usr/include/boost/lexical_cast.hpp:618:9: error: 'uint128_type' is not a member of 'boost'
BOOST_LCAST_DEF(boost::uint128_type)
^
/usr/include/boost/lexical_cast.hpp:618:9: error: 'uint128_type' is not a member of 'boost'
/usr/include/boost/lexical_cast.hpp:618:9: error: template argument 1 is invalid
BOOST_LCAST_DEF(boost::uint128_type)
^In file included from /usr/include/boost/date_time/string_parse_tree.hpp:13:0,
from /usr/include/boost/date_time/period_parser.hpp:14,
from /usr/include/boost/date_time/date_facet.hpp:23,
from /usr/include/boost/date_time/gregorian/gregorian_io.hpp:16, from /usr/include/boost/date_time/gregorian/gregorian.hpp:31,
from /usr/include/boost/date_time/posix_time/time_formatters.hpp:12,
from /usr/include/boost/date_time/posix_time/posix_time.hpp:24,
from src/mongo/util/time_support.h:23,
from src/mongo/util/concurrency/mutex.h:31,
from src/mongo/util/goodies.h:25,
from src/mongo/pch.h:78, from src/mongo/client/dbclient.h:30,
from src/mongo/dbtests/macrotests.cpp:61:
/usr/include/boost/lexical_cast.hpp:1831:31: error: 'uint128_type' in namespace 'boost' does not name a type
bool operator<<(const boost::uint128_type& n)

{ start = lcast_put_unsigned<Traits>(n, finish); return true; } ^
/usr/include/boost/lexical_cast.hpp:1832:31: error: 'int128_type' in namespace 'boost' does not name a type
bool operator<<(const boost::int128_type& n) { return shl_signed(n); }
^
/usr/include/boost/lexical_cast.hpp:1832:14: error: 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator<<(const i
nt&)' cannot be overloaded
bool operator<<(const boost::int128_type& n) { return shl_signed(n); }
^
/usr/include/boost/lexical_cast.hpp:1831:14: error: with 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator<<(const int&)'
bool operator<<(const boost::uint128_type& n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }

^
/usr/include/boost/lexical_cast.hpp:2043:36: error: 'boost::uint128_type' has not been declared bool operator>>(boost::uint128_type& output)

{ return shr_unsigned(output); }
^
/usr/include/boost/lexical_cast.hpp:2043:18: error: 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator>>(int&)'
cannot be overloaded
bool operator>>(boost::uint128_type& output) { return shr_unsigned(output); }

^
/usr/include/boost/lexical_cast.hpp:2032:18: error: with 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator>>(int&)'
bool operator>>(int& output)

{ return shr_signed(output); }
^
/usr/include/boost/lexical_cast.hpp:2044:36: error: 'boost::int128_type' has not been declared bool operator>>(boost::int128_type& output) { return shr_signed(output); }

^
/usr/include/boost/lexical_cast.hpp:2044:18: error: 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator>>(int&)'
cannot be overloaded
bool operator>>(boost::int128_type& output)

{ return shr_signed(output); }
/usr/include/boost/lexical_cast.hpp:2032:18: error: with 'bool boost::detail::lexical_stream_limited_src<CharT, Traits, RequiresStringbuffer>::operator>>(int&)'
bool operator>>(int& output) { return shr_signed(output); }

^
scons: *** [build/linux2/ssl/use-system-boost/use-system-pcre/use-system-snappy/use-system-tcmalloc/mongo/dbtests/macrotests.o] Error 1
scons: building terminated because of errors. ^



 Comments   
Comment by Felix Yan [ 07/Jul/13 ]

I've reported the bug to boost upstream, and should be fixed now: https://svn.boost.org/trac/boost/ticket/8790

Generated at Thu Feb 08 03:22:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.