When compiling pgrouting from source for Ubuntu 12.10, I got the following error message. The version of boost is 1.52, is it too new for building pgrouting?
[ 37%] Building CXX object core/src/CMakeFiles/routing.dir/boost_wrapper.o
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp: In instantiation of ‘struct boost::detail::adj_list_any_edge_pmap::bind_<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>, Vertex, boost::edge_weight_t>’:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2685:12: required from ‘struct boost::detail::adj_list_choose_edge_pmap<boost::edge_weight_t, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>, Vertex>’
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2690:14: required from ‘struct boost::detail::adj_list_edge_property_selector::bind_<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>, Vertex, boost::edge_weight_t>’
/usr/local/include/boost/graph/properties.hpp:208:12: required from ‘struct boost::detail::edge_property_map<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>, boost::edge_weight_t>’
/usr/local/include/boost/graph/properties.hpp:228:10: required from ‘struct boost::property_map<boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>, boost::edge_weight_t>’
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:41: required from here
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2653:29: error: forming reference to void
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2654:35: error: forming reference to void
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2658:61: error: forming reference to void
/usr/local/include/boost/graph/detail/adjacency_list.hpp:2661:68: error: forming reference to void
/home/user/pgrouting/core/src/boost_wrapper.cpp: In function ‘int boost_dijkstra(edge_t*, unsigned int, int, int, bool, bool, path_element_t**, int*, char**)’:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: error: no matching function for call to ‘get(boost::edge_weight_t, graph_t&)’
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: candidates are:
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:36:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/property_map/property_map.hpp:179:19: note: template<class T> const T& get(const T*, std::ptrdiff_t)
/usr/local/include/boost/property_map/property_map.hpp:179:19: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const T*’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/breadth_first_search.hpp:26:0,
from /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:21,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:29:
/usr/local/include/boost/graph/two_bit_color_map.hpp:67:1: note: template<class IndexMap> boost::two_bit_color_type boost::get(const boost::two_bit_color_map<IndexMap>&, typename boost::property_traits<PropMap>::key_type)
/usr/local/include/boost/graph/two_bit_color_map.hpp:67:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::two_bit_color_map<IndexMap>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1711:5: note: template<class Config, class Base, class Property, class Key> typename boost::property_traits<typename boost::property_map<typename Config::graph_type, Property>::const_type>::reference boost::get(Property, const boost::adj_list_helper<Config, Base>&, const Key&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1711:5: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: candidate expects 3 arguments, 2 provided
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1701:5: note: template<class Config, class Base, class Property, class Key> typename boost::property_traits<typename boost::property_map<typename Config::graph_type, Property>::type>::reference boost::get(Property, boost::adj_list_helper<Config, Base>&, const Key&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1701:5: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: candidate expects 3 arguments, 2 provided
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1690:5: note: template<class Config, class Base, class Property> typename boost::property_map<typename Config::graph_type, Property>::const_type boost::get(Property, const boost::adj_list_helper<Config, Base>&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1690:5: note: template argument deduction/substitution failed:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1682:5: note: template<class Config, class Base, class Property> typename boost::property_map<typename Config::graph_type, Property>::type boost::get(Property, boost::adj_list_helper<Config, Base>&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1682:5: note: template argument deduction/substitution failed:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:345:3: note: template<class Tag, class Vertex, class EdgeVec, class Property> const typename boost::property_value<Property, Tag>::type& boost::get(Tag, const boost::detail::stored_ra_edge_iter<Vertex, EdgeVec, Property>&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:345:3: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: ‘graph_t {aka boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>}’ is not derived from ‘const boost::detail::stored_ra_edge_iter<Vertex, EdgeVec, Property>’
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:337:3: note: template<class Tag, class Vertex, class Iter, class Property> const typename boost::property_value<Property, Tag>::type& boost::get(Tag, const boost::detail::stored_edge_iter<Vertex, Iter, Property>&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:337:3: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: ‘graph_t {aka boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>}’ is not derived from ‘const boost::detail::stored_edge_iter<Vertex, Iter, Property>’
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:245:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/graph/detail/adjacency_list.hpp:329:3: note: template<class Tag, class Vertex, class Property> const typename boost::property_value<Property, Tag>::type& boost::get(Tag, const boost::detail::stored_edge_property<Vertex, Property>&)
/usr/local/include/boost/graph/detail/adjacency_list.hpp:329:3: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: ‘graph_t {aka boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, Vertex>}’ is not derived from ‘const boost::detail::stored_edge_property<Vertex, Property>’
In file included from /usr/local/include/boost/optional.hpp:15:0,
from /usr/local/include/boost/graph/named_graph.hpp:19,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/optional/optional.hpp:705:1: note: template<class T> typename boost::optional::pointer_type boost::get(boost::optional<T>*)
/usr/local/include/boost/optional/optional.hpp:705:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘boost::optional<T>*’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/optional.hpp:15:0,
from /usr/local/include/boost/graph/named_graph.hpp:19,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/optional/optional.hpp:697:1: note: template<class T> typename boost::optional::pointer_const_type boost::get(const boost::optional<T>*)
/usr/local/include/boost/optional/optional.hpp:697:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::optional<T>*’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/optional.hpp:15:0,
from /usr/local/include/boost/graph/named_graph.hpp:19,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/optional/optional.hpp:687:1: note: template<class T> typename boost::optional::reference_type boost::get(boost::optional<T>&)
/usr/local/include/boost/optional/optional.hpp:687:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘boost::optional<T>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/optional.hpp:15:0,
from /usr/local/include/boost/graph/named_graph.hpp:19,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/optional/optional.hpp:679:1: note: template<class T> typename boost::optional::reference_const_type boost::get(const boost::optional<T>&)
/usr/local/include/boost/optional/optional.hpp:679:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::optional<T>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/named_graph.hpp:16:0,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/multi_index_container.hpp:747:1: note: template<int N, class Value, class IndexSpecifierList, class Allocator> typename boost::multi_index::nth_index<boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>, N>::type& boost::multi_index::get(boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>&)
/usr/local/include/boost/multi_index_container.hpp:747:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/named_graph.hpp:16:0,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/multi_index_container.hpp:771:1: note: template<int N, class Value, class IndexSpecifierList, class Allocator> const typename boost::multi_index::nth_index<boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>, N>::type& boost::multi_index::get(const boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>&)
/usr/local/include/boost/multi_index_container.hpp:771:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/named_graph.hpp:16:0,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/multi_index_container.hpp:816:1: note: template<class Tag, class Value, class IndexSpecifierList, class Allocator> typename boost::multi_index::index<boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>, Tag>::type& boost::multi_index::get(boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>&)
/usr/local/include/boost/multi_index_container.hpp:816:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/named_graph.hpp:16:0,
from /usr/local/include/boost/graph/adjacency_list.hpp:45,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/multi_index_container.hpp:836:1: note: template<class Tag, class Value, class IndexSpecifierList, class Allocator> const typename boost::multi_index::index<boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>, Tag>::type& boost::multi_index::get(const boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>&)
/usr/local/include/boost/multi_index_container.hpp:836:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::multi_index::multi_index_container<Value, IndexSpecifierList, Allocator>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:36:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/property_map/property_map.hpp:352:3: note: template<class PropertyMap, class Reference, class K> Reference boost::get(const boost::put_get_helper<Reference, PropertyMap>&, const K&)
/usr/local/include/boost/property_map/property_map.hpp:352:3: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::put_get_helper<Reference, PropertyMap>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:36:0,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:28:
/usr/local/include/boost/property_map/property_map.hpp:215:3: note: template<class K, class V> const typename boost::readable_property_map_archetype::reference& boost::get(const boost::readable_property_map_archetype<K, V>&, const typename boost::readable_property_map_archetype<K, V>::key_type&)
/usr/local/include/boost/property_map/property_map.hpp:215:3: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::readable_property_map_archetype<K, V>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/tuple/tuple.hpp:33:0,
from /usr/local/include/boost/graph/graph_traits.hpp:16,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:27:
/usr/local/include/boost/tuple/detail/tuple_basic.hpp:211:1: note: template<int N, class HT, class TT> typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::non_const_type boost::tuples::get(boost::tuples::cons<HT, TT>&)
/usr/local/include/boost/tuple/detail/tuple_basic.hpp:211:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘boost::tuples::cons<HT, TT>’ and ‘boost::edge_weight_t’
In file included from /usr/local/include/boost/tuple/tuple.hpp:33:0,
from /usr/local/include/boost/graph/graph_traits.hpp:16,
from /home/user/pgrouting/core/src/boost_wrapper.cpp:27:
/usr/local/include/boost/tuple/detail/tuple_basic.hpp:225:1: note: template<int N, class HT, class TT> typename boost::tuples::access_traits<typename boost::tuples::element<N, boost::tuples::cons<HT, TT> >::type>::const_type boost::tuples::get(const boost::tuples::cons<HT, TT>&)
/usr/local/include/boost/tuple/detail/tuple_basic.hpp:225:1: note: template argument deduction/substitution failed:
/home/user/pgrouting/core/src/boost_wrapper.cpp:77:82: note: mismatched types ‘const boost::tuples::cons<HT, TT>’ and ‘boost::edge_weight_t’
make[2]: *** [core/src/CMakeFiles/routing.dir/boost_wrapper.o] Error 1
make[1]: *** [core/src/CMakeFiles/routing.dir/all] Error 2
make: *** [all] Error 2