Boost logo

Boost :

Subject: Re: [boost] [EXTERNAL] [1.61.0] Master branch is closed
From: Belcourt, Kenneth (kbelco_at_[hidden])
Date: 2016-04-26 16:26:35

> On Apr 26, 2016, at 2:01 PM, Belcourt, Kenneth <kbelco_at_[hidden]> wrote:
>> On Apr 26, 2016, at 1:31 PM, Vladimir Prus <vladimir.prus_at_[hidden]> wrote:
>> On 4/26/2016 10:24 PM, Belcourt, Kenneth wrote:
>>> Yes, I’m running tests for both develop and master right now and they’ll post results here in a couple of hours.
>>>> What about graph and graph_parallel? Are they also broken in current master?
>>> Graph should be fine in master. graph_parallel that depends on MPI is broken due to the serialization issue. There’s also an issue with graph_parallel where some examples don’t compile in master due, apparently, to some un-merged changes from develop. This issue was reported by Eisuke Kawashima.
>>> The upshot is that fixing MPI serialization in master will fix both MPI and graph_parallel. The graph_parallel/example breakage is less critical though at least one user is impacted by it.
>> Given that MPI and graph_parallel are entirely broken on master right now, please cherry-pick the serialization fix to master, either now or when the tests finish - it can't be worse for sure. We'll include the change in release.
> Just cherry-picked these two commits into master to fix the serialization issue:
> commit 0dce8d2c2ab273c488d708fb3e66dbb9c4298a79
> Author: Jürgen Hunold <>
> commit 7d33e519b3daa01e9bb4a5545d5d084c45875e4f
> Author: K. Noel Belcourt <kbelco_at_[hidden]>
> MPI tests are clean on master. Graph_parallel is mostly clean, there’s one issue:
> clang-darwin.compile.c++ ../bin.v2/libs/graph_parallel/test/distributed_csr_algorithm_test-1.test/clang-darwin-4.2.1/debug/distributed_csr_algorithm_test.o
> In file included from ../libs/graph_parallel/test/distributed_csr_algorithm_test.cpp:25:
> In file included from ../boost/graph/dijkstra_shortest_paths.hpp:25:
> ../boost/pending/relaxed_heap.hpp:194:53: error: no viable conversion from returned value of type 'const value_type' (aka 'const boost::optional<unsigned long>') to function return type 'bool'
> bool contains(const value_type& x) const { return groups[get(id, x)]; }
> ^~~~~~~~~~~~~~~~~~
> which looks like a dependency on an un-merged change from graph develop. I’ll have to track this down.

There’s a small change to graph develop: include/boost/pending/relaxed_heap.hpp, that fixes the graph and graph_parallel results on master, here’s the diff (haven’t found a commit to cherry-pick yet).

diff --git a/include/boost/pending/relaxed_heap.hpp b/include/boost/pending/relaxed_heap.hpp
index 13f7af4..8be4484 100644
--- a/include/boost/pending/relaxed_heap.hpp
+++ b/include/boost/pending/relaxed_heap.hpp
@@ -191,7 +191,9 @@ public:
     return !smallest_value || (smallest_value->kind == largest_key);
- bool contains(const value_type& x) const { return groups[get(id, x)]; }
+ bool contains(const value_type& x) const {
+ return static_cast<bool>(groups[get(id, x)]);
+ }

Okay to apply this change to master, we should be all green for graph, graph_parallel, and MPI on master?

— Noel

Boost list run by bdawes at, gregod at, cpdaniel at, john at