Re: Boost build failure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Orion Poplawski <orion@xxxxxxxxxxxxx> writes:

> I'm seeing the following boost related build error building paraview
> in rawhide.  Do any boost gurus know what the issue might be the
> issue?

Hi there, please do not hesitate to file bugs for such regressions.  I
only noticed this message today.

The problem here is in a tree_edge(e,g) event point of boost's
breadth_first_search.  In reverse graph, this used to be called so that
"e" was directly the edge type of the edge in graph (vtkEdgeType in this
case).  Now it's called with a value of wrapper type
boost::detail::reverse_graph_edge_descriptor<vtkEdgeType>.  This wrapper
type has a public member underlying_desc which is the original edge.

Of course, with forward graph, this wrapping doesn't take place, so we
can't just plainly access e.underlying_desc.Id, we must wrap the access
itself.  The hack that I'm attaching should take care of it.  The build
is progressing now, I'm not sure if I'll hit something more.

I'll open an upstream bug for this.

Thanks,
PM

diff -up ParaView-3.12.0/VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx\~ ParaView-3.12.0/VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx
--- ParaView-3.12.0/VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx~	2011-11-08 21:56:37.000000000 +0100
+++ ParaView-3.12.0/VTK/Infovis/vtkBoostBreadthFirstSearchTree.cxx	2011-12-06 01:11:42.487760688 +0100
@@ -47,6 +47,15 @@ using namespace boost;
 vtkStandardNewMacro(vtkBoostBreadthFirstSearchTree);
 
 
+namespace {
+  vtkIdType unwrap_edge_id(vtkEdgeType const &e) {
+    return e.Id;
+  }
+  vtkIdType unwrap_edge_id(boost::detail::reverse_graph_edge_descriptor<vtkEdgeType> const &e) {
+    return e.underlying_desc.Id;
+  }
+}
+
 // Redefine the bfs visitor, the only visitor we
 // are using is the tree_edge visitor.
 template <typename IdMap>
@@ -95,7 +104,8 @@ public:
 
     // Copy the vertex and edge data from the graph to the tree.
     tree->GetVertexData()->CopyData(graph->GetVertexData(), v, tree_v);
-    tree->GetEdgeData()->CopyData(graph->GetEdgeData(), e.Id, tree_e.Id);
+    tree->GetEdgeData()->CopyData(graph->GetEdgeData(),
+				  unwrap_edge_id(e), tree_e.Id);
   }
 
 private:

Diff finished.  Tue Dec  6 01:13:13 2011
-- 
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux