[Libreoffice] gcc 4.6.2 + boost 1.48.0 and unordered_map assignment operator const issues [was gcc 4.6.2]

Andreas Radke a.radke at arcor.de
Wed Jan 4 04:09:27 PST 2012


While doing the db 5.3.15 rebuilds I'm running into this build issue.
It might be caused by your fix but could also be our new glibc updated
toolchain breaking gcc itself. CC'ing our toolchain maintainer also.

It builds fine with old internal boost 1.44.

[andyrtr at workstation64 tmp]$ pacman -Q boost gcc glibc binutils
boost 1.48.0-2
gcc 4.6.2-5
glibc 2.15-3
binutils 2.22-4


libreoffice 3-4-5rc2


[ build CXX ] framework/source/uifactory/menubarfactory
In file included from /build/src/build/framework/inc/uielement/toolbarmerger.hxx:39:0,
                 from /build/src/build/framework/source/uielement/toolbarmerger.cxx:32:
/build/src/build/framework/inc/uielement/commandinfo.hxx: In constructor 'framework::CommandInfo::CommandInfo(framework::CommandInfo&&)':
/build/src/build/framework/inc/uielement/commandinfo.hxx:48:8:   instantiated from 'std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) [with _U1 = const rtl::OUString, _U2 = framework::CommandInfo, _T1 = const rtl:
:OUString, _T2 = framework::CommandInfo]'
/usr/include/boost/unordered/detail/emplace_args.hpp:268:9:   instantiated from 'void boost::unordered::detail::construct_impl(T*, Args&& ...) [with T = std::pair<const rtl::OUString, framework::CommandInfo>, Arg
s = {std::pair<const rtl::OUString, framework::CommandInfo>}]'
/usr/include/boost/unordered/detail/buckets.hpp:73:13:   instantiated from 'void boost::unordered::detail::node_constructor<NodeAlloc>::construct_value(Args&& ...) [with Args = {std::pair<const rtl::OUString, fra
mework::CommandInfo>}, NodeAlloc = std::allocator<boost::unordered::detail::ptr_node<std::pair<const rtl::OUString, framework::CommandInfo> > >]'
/usr/include/boost/unordered/detail/unique.hpp:399:13:   instantiated from 'boost::unordered::detail::table_impl<Types>::emplace_return boost::unordered::detail::table_impl<Types>::emplace_impl(const key_type&, A
rgs&& ...) [with Args = {std::pair<const rtl::OUString, framework::CommandInfo>}, Types = boost::unordered::detail::map<std::allocator<std::pair<const rtl::OUString, framework::CommandInfo> >, rtl::OUString, fram
ework::OUStringHashCode, std::equal_to<rtl::OUString> >, boost::unordered::detail::table_impl<Types>::emplace_return = std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std:
:pair<const rtl::OUString, framework::CommandInfo> >*, std::pair<const rtl::OUString, framework::CommandInfo> >, bool>, typename boost::unordered::detail::table<Types>::iterator = boost::unordered::iterator_detai
l::iterator<boost::unordered::detail::ptr_node<std::pair<const rtl::OUString, framework::CommandInfo> >*, std::pair<const rtl::OUString, framework::CommandInfo> >, boost::unordered::detail::table_impl<Types>::key
_type = rtl::OUString]'
/usr/include/boost/unordered/detail/unique.hpp:368:48:   instantiated from 'boost::unordered::detail::table_impl<Types>::emplace_return boost::unordered::detail::table_impl<Types>::emplace(Args&& ...) [with Args 
= {std::pair<const rtl::OUString, framework::CommandInfo>}, Types = boost::unordered::detail::map<std::allocator<std::pair<const rtl::OUString, framework::CommandInfo> >, rtl::OUString, framework::OUStringHashCod
e, std::equal_to<rtl::OUString> >, boost::unordered::detail::table_impl<Types>::emplace_return = std::pair<boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const rtl::OUStr
ing, framework::CommandInfo> >*, std::pair<const rtl::OUString, framework::CommandInfo> >, bool>, typename boost::unordered::detail::table<Types>::iterator = boost::unordered::iterator_detail::iterator<boost::uno
rdered::detail::ptr_node<std::pair<const rtl::OUString, framework::CommandInfo> >*, std::pair<const rtl::OUString, framework::CommandInfo> >]'
/usr/include/boost/unordered/unordered_map.hpp:221:62:   instantiated from 'std::pair<typename boost::unordered::detail::map<typename boost::unordered::detail::rebind_wrap<A, std::pair<const K, T> >::type, K, H, 
P>::table::iterator, bool> boost::unordered::unordered_map<K, T, H, P, A>::emplace(Args&& ...) [with Args = {std::pair<const rtl::OUString, framework::CommandInfo>}, K = rtl::OUString, T = framework::CommandInfo,
 H = framework::OUStringHashCode, P = std::equal_to<rtl::OUString>, A = std::allocator<std::pair<const rtl::OUString, framework::CommandInfo> >, typename boost::unordered::detail::map<typename boost::unordered::d
etail::rebind_wrap<A, std::pair<const K, T> >::type, K, H, P>::table::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const rtl::OUString, framework::CommandInf
o> >*, std::pair<const rtl::OUString, framework::CommandInfo> >]'
/usr/include/boost/unordered/unordered_map.hpp:296:48:   instantiated from 'std::pair<typename boost::unordered::detail::map<typename boost::unordered::detail::rebind_wrap<A, std::pair<const K, T> >::type, K, H, 
P>::table::iterator, bool> boost::unordered::unordered_map<K, T, H, P, A>::insert(boost::unordered::unordered_map<K, T, H, P, A>::value_type&&) [with K = rtl::OUString, T = framework::CommandInfo, H = framework::
OUStringHashCode, P = std::equal_to<rtl::OUString>, A = std::allocator<std::pair<const rtl::OUString, framework::CommandInfo> >, typename boost::unordered::detail::map<typename boost::unordered::detail::rebind_wrap<A, std::pair<const K, T> >::type, K, H, P>::table::iterator = boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const rtl::OUString, framework::CommandInfo> >*, std::pair<const rtl::OUString, framework::CommandInfo> >, boost::unordered::unordered_map<K, T, H, P, A>::value_type = std::pair<const rtl::OUString, framework::CommandInfo>]'
/build/src/build/framework/source/uielement/toolbarmerger.cxx:521:100:   instantiated from here
/build/src/build/framework/inc/uielement/commandinfo.hxx:48:8: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://bugs.archlinux.org/> for instructions.
make[1]: *** [/build/src/build/solver/340/unxlngx6.pro/workdir/CxxObject/framework/source/uielement/toolbarmerger.o] Error 1


-Andy


More information about the LibreOffice mailing list