
Having switched from boost_1_29_0 to boost_1_30_0, code that was compiling and running now produces this error message: I'm using Mandrake linux 9.0 with the gcc v3.22 compiler. /home/jholle/boost_1_30_0/boost/graph/connected_components.hpp: In function `boost::property_traits<IndexMap>::value_type boost::connected_components(const Graph&, ComponentMap) [with Graph = boost::subgraph<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::GraphvizVertexProperty, boost::GraphvizEdgeProperty, boost::GraphvizGraphProperty, boost::listS> >, ComponentMap = boost::iterator_property_map<__gnu_cxx::__normal_iterator<size_t*, std::vector<size_t, std::allocator<size_t> > >, boost::subgraph_property_map<boost::subgraph<boost::adjacency_list<boost::vecS, boost::vecS, boost::directedS, boost::GraphvizVertexProperty, boost::GraphvizEdgeProperty, boost::GraphvizGraphProperty, boost::listS> >*, boost::vec_adj_list_vertex_id_map<boost::GraphvizVertexProperty, size_t> >, unsigned int, unsigned int&>]': BGLLayout.cpp:49: instantiated from here /home/jholle/boost_1_30_0/boost/graph/connected_components.hpp:99: `sizeof' applied to incomplete type `boost::STATIC_ASSERTION_FAILURE<false>' The code that produced this error is: void BGLLayout::FindComponents(void) { typedef vector<unsigned int> Ints; Ints c(num_vertices(m_graph)); connected_components(m_graph, make_iterator_property_map(c.begin(), get(vertex_index, m_graph), c[0])); << -- line 49 (error source) m_componentStartVertex.clear(); unsigned int i=0; for (Ints::const_iterator iter=c.begin(); iter != c.end(); ++iter,++i) if (m_componentStartVertex.size() <= *iter) m_componentStartVertex.push_back(i); } Note this code is largely taken from connected_components.cpp. Can anybody tell me what is wrong here?