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:59:45



> On Apr 26, 2016, at 2:26 PM, Belcourt, Kenneth <kbelco_at_[hidden]> wrote:
>
>
>> 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 <jhunold_at_gmx.eu>
>>
>> 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)]);
> + }

and this change to graph/develop to fix one last issue.

s988329:graph kbelco$ git diff
diff --git a/include/boost/graph/adjacency_matrix.hpp b/include/boost/graph/adjacency_matrix.hpp
index b1078d9..ade7351 100644
--- a/include/boost/graph/adjacency_matrix.hpp
+++ b/include/boost/graph/adjacency_matrix.hpp
@@ -443,7 +443,7 @@ namespace boost {
     // graph type. Instead, use directedS, which also provides the
     // functionality required for a Bidirectional Graph (in_edges,
     // in_degree, etc.).
- BOOST_STATIC_ASSERT(type_traits::ice_not<(is_same<Directed, bidirectionalS>::value)>::value);
+ BOOST_STATIC_ASSERT(!(is_same<Directed, bidirectionalS>::value));
 
     typedef typename mpl::if_<is_directed,
                                     bidirectional_tag, undirected_tag>::type

These tests all pass on master with the above changes:

    graph/test # test-suite graph
    graph_parallel/test # test-suite graph/parallel
    mpi/test # test-suite mpi

Also with the above fixes, the graph_parallel/example issue is now a linker error due to a missing dependency on Boost.MPI. I can supply the user with a local patch to get them going.

— Noel


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk