Re: [Boost-bugs] [Boost C++ Libraries] #10382: 1.56.0 Graph adjacency_list has compile errors on g++ 4.6.4

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10382: 1.56.0 Graph adjacency_list has compile errors on g++ 4.6.4
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-10-18 13:11:21


#10382: 1.56.0 Graph adjacency_list has compile errors on g++ 4.6.4
----------------------------------------------+---------------------------
  Reporter: Conrad Mercer <conrad.mercer@…> | Owner: jewillco
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: graph
   Version: Boost 1.56.0 | Severity: Showstopper
Resolution: | Keywords: compile error
----------------------------------------------+---------------------------

Comment (by phreakuencies@…):

 Hi, yes, I changed the "or" to "and". The fix proposed here is not the
 problem. I applied the patch first and did not change behavior. I had the
 "deleted operator" message. I looked at the file, and realized there was
 already a conditional code which (as I understand) was only enabled for
 previous compilers. Once I re-enabled that, it started working.

 Here's the error produced (attach original and modified files):

 {{{
 In file included from /usr/include/c++/4.9.1/memory:64:0,
                  from /usr/include/boost/config/no_tr1/memory.hpp:21,
                  from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
                  from /usr/include/boost/shared_ptr.hpp:17,
                  from
 /usr/include/boost/property_map/vector_property_map.hpp:14,
                  from
 /usr/include/boost/property_map/property_map.hpp:600,
                  from /home/v01d/coding/ros/src/surfnav/src/lib/map.cpp:1:
 /usr/include/c++/4.9.1/bits/stl_construct.h: In instantiation of ‘void
 std::_Construct(_T1*, _Args&& ...) [with _T1 =
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >; _Args = {const
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >&}]’:
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:75:53: required from
 â€˜static _ForwardIterator
 std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator,
 _InputIterator, _ForwardIterator) [with _InputIterator =
 __gnu_cxx::__normal_iterator<const
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*,
 std::vector<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >,
 std::allocator<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > > > > >; _ForwardIterator =
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*; bool _TrivialValueTypes =
 false]’
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:125:41: required from
 â€˜_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator,
 _ForwardIterator) [with _InputIterator =
 __gnu_cxx::__normal_iterator<const
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*,
 std::vector<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >,
 std::allocator<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > > > > >; _ForwardIterator =
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*]’
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:278:63: required from
 â€˜_ForwardIterator std::__uninitialized_copy_a(_InputIterator,
 _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with
 _InputIterator = __gnu_cxx::__normal_iterator<const
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*,
 std::vector<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >,
 std::allocator<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > > > > >; _ForwardIterator =
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >*; _Tp =
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >]’
 /usr/include/c++/4.9.1/bits/stl_vector.h:324:32: required from
 â€˜std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with
 _Tp = boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >; _Alloc =
 std::allocator<boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > > >]’
 /usr/include/boost/graph/detail/adjacency_list.hpp:2399:16: required
 from ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex; _Args =
 {boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex&}]’
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:75:53: [ skipping 2
 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:278:63: required from
 â€˜_ForwardIterator std::__uninitialized_copy_a(_InputIterator,
 _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with
 _InputIterator =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex*; _ForwardIterator =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex*; _Tp =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex]’
 /usr/include/c++/4.9.1/bits/stl_uninitialized.h:301:67: required from
 â€˜_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator,
 _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex*; _ForwardIterator =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex*; _Allocator =
 std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex>]’
 /usr/include/c++/4.9.1/bits/vector.tcc:564:42: required from ‘void
 std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp,
 _Alloc>::size_type) [with _Tp =
 boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex; _Alloc =
 std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex>; std::vector<_Tp, _Alloc>::size_type
 = long unsigned int]’
 /usr/include/c++/4.9.1/bits/stl_vector.h:676:41: required from ‘void
 std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type)
 [with _Tp = boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex; _Alloc =
 std::allocator<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config::stored_vertex>; std::vector<_Tp, _Alloc>::size_type
 = long unsigned int]’
 /usr/include/boost/graph/detail/adjacency_list.hpp:2192:7: required from
 â€˜typename Config::vertex_descriptor
 boost::add_vertex(boost::vec_adj_list_impl<G, C, B>&) [with Graph =
 boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property, boost::vecS>;
 Config = boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config; Base =
 boost::directed_graph_helper<boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::directedS, boost::property<boost::vertex_index_t, long
 unsigned int, surfnav::Node>, boost::property<boost::edge_index_t, long
 unsigned int, boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>, boost::vecS, boost::vecS, boost::directedS,
 boost::property<boost::vertex_index_t, long unsigned int, surfnav::Node>,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> >, boost::no_property,
 boost::vecS>::config>; typename Config::vertex_descriptor = long unsigned
 int]’
 /home/v01d/coding/ros/src/surfnav/src/lib/map.cpp:13:36: required from
 here
 /usr/include/c++/4.9.1/bits/stl_construct.h:75:7: error: use of deleted
 function ‘boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >::stored_edge_property(const
 boost::detail::stored_edge_property<long unsigned int,
 boost::property<boost::edge_index_t, long unsigned int,
 boost::shared_ptr<surfnav::Segment> > >&)’
      { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...);
 }
        ^
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10382#comment:8>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC