Project

General

Profile

Actions

Bug #1193

closed

WTreeView.o can't be built

Added by Jan Hrubeš over 12 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
Start date:
03/19/2012
Due date:
% Done:

0%

Estimated time:

Description

Hi,

I have problem with building wt. The error occurs when building WTreeView.

It happens with Wt 3.2.0 and Wt 3.2.1-rc2, with boost 1_48 and 1_49.

I am crosscompiling for mipsel with glibc 2.3.6 and gcc 3.4.5 .

Due to I'm not using WTreeView I have excluded it from wt build and then the rest of wt can be built and applications are functional.

I don't know if it is a bug of Wt or it can be a bug in the rusty glibc and gcc.

Builds prior wt 3.2.0 (boost 1_46_1) was fine. And even new versions are working in ubuntu on x64.

regards,

Jan

...
[ 50%] Building CXX object src/CMakeFiles/wt.dir/Wt/WTreeView.o
In file included from /home/hrubes/Wt/winst-0.4_2nd/unpack/wt-3.2.1-rc2/src/Wt/WTreeView.C:20:
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp: In instantiation of `boost::unordered::detail::allocator_traits<std::allocator<boost::unordered::detail::ptr_node<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > > >':
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/unique.hpp:107:   instantiated from `boost::unordered::detail::pick_node<std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >, std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >'
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/unique.hpp:152:   instantiated from `boost::unordered::detail::map<std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >, Wt::WModelIndex, Wt::WTreeViewNode*, boost::hash<Wt::WModelIndex>, std::equal_to<Wt::WModelIndex> >'
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/unordered_map.hpp:60:   instantiated from `boost::unordered::unordered_map<Wt::WModelIndex, Wt::WTreeViewNode*, boost::hash<Wt::WModelIndex>, std::equal_to<Wt::WModelIndex>, std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >'
/home/hrubes/Wt/winst-0.4_2nd/unpack/wt-3.2.1-rc2/src/Wt/WTreeView:300:   instantiated from here
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:411: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_node<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_node<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >]' cannot be overloaded
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:427: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_node<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_node<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >]' cannot be overloaded
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp: In instantiation of `boost::unordered::detail::allocator_traits<std::allocator<boost::unordered::detail::ptr_bucket> >':
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/unique.hpp:107:   instantiated from `boost::unordered::detail::pick_node<std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >, std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >'
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/unique.hpp:152:   instantiated from `boost::unordered::detail::map<std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >, Wt::WModelIndex, Wt::WTreeViewNode*, boost::hash<Wt::WModelIndex>, std::equal_to<Wt::WModelIndex> >'
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/unordered_map.hpp:60:   instantiated from `boost::unordered::unordered_map<Wt::WModelIndex, Wt::WTreeViewNode*, boost::hash<Wt::WModelIndex>, std::equal_to<Wt::WModelIndex>, std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >'
/home/hrubes/Wt/winst-0.4_2nd/unpack/wt-3.2.1-rc2/src/Wt/WTreeView:300:   instantiated from here
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:411: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_bucket>]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_bucket>]' cannot be overloaded
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:427: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_bucket>]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<boost::unordered::detail::ptr_bucket>]' cannot be overloaded
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp: In instantiation of `boost::unordered::detail::allocator_traits<std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >':
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/unordered_map.hpp:66:   instantiated from `boost::unordered::unordered_map<Wt::WModelIndex, Wt::WTreeViewNode*, boost::hash<Wt::WModelIndex>, std::equal_to<Wt::WModelIndex>, std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> > >'
/home/hrubes/Wt/winst-0.4_2nd/unpack/wt-3.2.1-rc2/src/Wt/WTreeView:300:   instantiated from here
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:411: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_construct<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::construct(Alloc&, T*, const T&) [with T = T, Alloc = std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >]' cannot be overloaded
/home/hrubes/Wt/winst-0.4_2nd/staging/include/boost/unordered/detail/allocator_helpers.hpp:427: error: `template<class T> static typename boost::disable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >]' and `template<class T> static typename boost::enable_if_c< boost::unordered::detail::has_destroy<Alloc,T>::value, void>::type boost::unordered::detail::allocator_traits::destroy(Alloc&, T*) [with T = T, Alloc = std::allocator<std::pair<const Wt::WModelIndex, Wt::WTreeViewNode*> >]' cannot be overloaded
make[3]: *** [src/CMakeFiles/wt.dir/Wt/WTreeView.o] Error 1
make[3]: Leaving directory `/home/hrubes/Wt/winst-0.4_2nd/build/wt-3.2.1-rc2'
make[2]: *** [src/CMakeFiles/wt.dir/all] Error 2
make[2]: Leaving directory `/home/hrubes/Wt/winst-0.4_2nd/build/wt-3.2.1-rc2'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/hrubes/Wt/winst-0.4_2nd/build/wt-3.2.1-rc2'
make: *** [wt] Error 2
Actions #1

Updated by Koen Deforche over 12 years ago

  • Status changed from New to InProgress
  • Assignee set to Koen Deforche
  • Target version set to 3.2.2

Hey,

It seems like a compiler bug to me, but unless I am mistaken, using a plain std::map would be a valid workaround for what is probably a bug in this old version of gcc.

Regards,

koen

Actions #2

Updated by Koen Deforche over 12 years ago

  • Status changed from InProgress to Closed
Actions #3

Updated by Jan Hrubeš about 12 years ago

Hi,

this issue has vanished with boost 1_51.

With boost 1_49 persists even in latest git of wt (11.10.2012).

regards,

Jan

Actions

Also available in: Atom PDF