Boost C++ Libraries: Ticket #2999: no matching function for call to container_category https://svn.boost.org/trac10/ticket/2999 <p> I attempted to compile this game (<a class="ext-link" href="http://www.xs4all.nl/~weegen/Minesweeper3D/#downloads"><span class="icon">​</span>http://www.xs4all.nl/~weegen/Minesweeper3D/#downloads</a>) with Boost 1.39.0, but am stopped by this error: </p> <p> /usr/include/boost/pending/container_traits.hpp:414: error: no matching function for call to ‘container_category(<a class="missing wiki">FixedVector</a>&lt;boost::detail::sei_&lt;unsigned int, std::_List_iterator&lt;boost::list_edge&lt;unsigned int, boost::no_property&gt; &gt;, boost::no_property&gt;, 32u&gt;&amp;)’ </p> <p> This is the final line of a long error chain that is quite incomprehensible to me, but I will paste it here in hopes that it is helpful for debugging: </p> <p> /usr/include/boost/pending/container_traits.hpp: In function ‘std::pair&lt;typename C::iterator, bool&gt; boost::graph_detail::push(Container&amp;, const T&amp;) [with Container = <a class="missing wiki">FixedVector</a>&lt;boost::detail::sei_&lt;unsigned int, std::_List_iterator&lt;boost::list_edge&lt;unsigned int, boost::no_property&gt; &gt;, boost::no_property&gt;, 32u&gt;, T = boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&amp;, boost::undirected_graph_helper&lt;C&gt;&amp;) [with Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config]::<a class="missing wiki">StoredEdge</a>]’: /usr/include/boost/graph/detail/adjacency_list.hpp:1022: instantiated from ‘std::pair&lt;typename Config::edge_descriptor, bool&gt; boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&amp;, boost::undirected_graph_helper&lt;C&gt;&amp;) [with Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2224: instantiated from ‘std::pair&lt;typename Config::edge_descriptor, bool&gt; boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, const typename Config::edge_property_type&amp;, boost::vec_adj_list_impl&lt;G, C, B&gt;&amp;) [with Graph = boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config, Base = boost::undirected_graph_helper&lt;boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config&gt;]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2233: instantiated from ‘std::pair&lt;typename Config::edge_descriptor, bool&gt; boost::add_edge(typename Config::vertex_descriptor, typename Config::vertex_descriptor, boost::vec_adj_list_impl&lt;G, C, B&gt;&amp;) [with Graph = boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config, Base = boost::undirected_graph_helper&lt;boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config&gt;]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2161: instantiated from ‘void boost::vec_adj_list_impl&lt;Graph, Config, Base&gt;::copy_impl(const boost::vec_adj_list_impl&lt;Graph, Config, Base&gt;&amp;) [with Graph = boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config, Base = boost::undirected_graph_helper&lt;boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config&gt;]’ /usr/include/boost/graph/detail/adjacency_list.hpp:2096: instantiated from ‘boost::vec_adj_list_impl&lt;Graph, Config, Base&gt;::vec_adj_list_impl(const boost::vec_adj_list_impl&lt;Graph, Config, Base&gt;&amp;) [with Graph = boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, Config = boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config, Base = boost::undirected_graph_helper&lt;boost::detail::adj_list_gen&lt;boost::adjacency_list&lt;boost::fixed_vecS&lt;32u&gt;, boost::vecS, boost::undirectedS, M3D::<a class="missing wiki">FieldProperties</a>, boost::no_property, boost::no_property, boost::listS&gt;, boost::vecS, boost::fixed_vecS&lt;32u&gt;, boost::undirectedS, boost::property&lt;boost::vertex_bundle_t, M3D::FieldProperties, boost::no_property&gt;, boost::no_property, boost::no_property, boost::listS&gt;::config&gt;]’ /usr/include/boost/graph/adjacency_list.hpp:407: instantiated from ‘boost::adjacency_list&lt;OutEdgeListS, VertexListS, DirectedS, <a class="missing wiki">VertexProperty</a>, <a class="missing wiki">EdgeProperty</a>, <a class="missing wiki">GraphProperty</a>, EdgeListS&gt;::adjacency_list(const boost::adjacency_list&lt;OutEdgeListS, VertexListS, DirectedS, <a class="missing wiki">VertexProperty</a>, <a class="missing wiki">EdgeProperty</a>, <a class="missing wiki">GraphProperty</a>, EdgeListS&gt;&amp;) [with OutEdgeListS = boost::fixed_vecS&lt;32u&gt;, VertexListS = boost::vecS, DirectedS = boost::undirectedS, <a class="missing wiki">VertexProperty</a> = M3D::<a class="missing wiki">FieldProperties</a>, <a class="missing wiki">EdgeProperty</a> = boost::no_property, <a class="missing wiki">GraphProperty</a> = boost::no_property, EdgeListS = boost::listS]’ src/BareModel.hpp:14: instantiated from here /usr/include/boost/pending/container_traits.hpp:414: error: no matching function for call to ‘container_category(<a class="missing wiki">FixedVector</a>&lt;boost::detail::sei_&lt;unsigned int, std::_List_iterator&lt;boost::list_edge&lt;unsigned int, boost::no_property&gt; &gt;, boost::no_property&gt;, 32u&gt;&amp;)’ scons: <strong>* [src/Application.o] Error 1 scons: building terminated because of errors. </strong></p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2999 Trac 1.4.3 Steven Watanabe Thu, 07 May 2009 14:51:33 GMT component changed; owner set https://svn.boost.org/trac10/ticket/2999#comment:1 https://svn.boost.org/trac10/ticket/2999#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Douglas Gregor</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">graph</span> </li> </ul> Ticket Jeremiah Willcock Wed, 13 May 2009 22:26:34 GMT owner, status changed https://svn.boost.org/trac10/ticket/2999#comment:2 https://svn.boost.org/trac10/ticket/2999#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Douglas Gregor</span> to <span class="trac-author">Jeremiah Willcock</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Jeremiah Willcock Wed, 13 May 2009 22:32:24 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2999#comment:3 https://svn.boost.org/trac10/ticket/2999#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> This issue appears to be with that particular application. The selector fixed_vecS is not part of the standard BGL, and is custom to the application. It appears that Minesweeper3D did not implement the functions in the section "Push and Erase for the Custom Container" of <a href="http://www.boost.org/doc/libs/1_39_0/libs/graph/doc/using_adjacency_list.html">http://www.boost.org/doc/libs/1_39_0/libs/graph/doc/using_adjacency_list.html</a> . See if implementing these two functions for <a class="missing wiki">FixedVector</a> solves the problem. </p> Ticket