After upgrading Boost in homebrew/core from 1.61 to 1.62, hyperscan now fails to build.
The error is
[ 39%] Building CXX object CMakeFiles/hs.dir/src/nfagraph/ng_dominators.cpp.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -I/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/build -I/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1 -I/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src -isystem /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/include -isystem /usr/local/include -Os -w -pipe -march=native -mmacosx-version-min=10.11 -DNDEBUG -std=c++11 -Wall -Wextra -Wshadow -Wswitch -Wreturn-type -Wcast-qual -Wno-deprecated -Wnon-virtual-dtor -fno-strict-aliasing -fno-omit-frame-pointer -fvisibility=hidden -Wvla -Wpointer-arith -Wno-self-assign -Wno-unused-const-variable -Wno-ignored-attributes -Wweak-vtables -Wmissing-declarations -O2 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -mmacosx-version-min=10.11 -o CMakeFiles/hs.dir/src/nfagraph/ng_dominators.cpp.o -c /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:34:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.h:38:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_holder.h:32:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_graph.h:46:
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:246:
In file included from /usr/local/include/boost/graph/detail/adjacency_list.hpp:32:
/usr/local/include/boost/graph/graph_concepts.hpp:131:13: error: no matching function for call to 'degree'
n = degree(v, g);
^~~~~~
/usr/local/include/boost/concept/usage.hpp:16:43: note: in instantiation of member function 'boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> >::~BidirectionalGraph' requested here
~usage_requirements() { ((Model*)0)->~Model(); }
^
/usr/local/include/boost/concept/detail/general.hpp:39:42: note: in instantiation of member function 'boost::concepts::usage_requirements<boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> > >::~usage_requirements' requested here
static void failed() { ((Model*)0)->~Model(); }
^
/usr/local/include/boost/graph/graph_concepts.hpp:122:9: note: in instantiation of member function 'boost::concepts::requirement<boost::concepts::failed ************boost::concepts::usage_requirements<boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> > >::************>::failed' requested here
BOOST_CONCEPT_USAGE(BidirectionalGraph) {
^
/usr/local/include/boost/concept/usage.hpp:29:7: note: expanded from macro 'BOOST_CONCEPT_USAGE'
BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
^
/usr/local/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:71:51: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
^
/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:67:16: note: in instantiation of function template specialization 'boost_ue2::lengauer_tarjan_dominator_tree<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, boost::iterator_property_map<std::__1::__wrap_iter<unsigned long *>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, unsigned long, unsigned long &>, boost::iterator_property_map<std::__1::__wrap_iter<void **>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, void *, void *&>, std::__1::vector<void *, std::__1::allocator<void *> >, boost::associative_property_map<boost::unordered::unordered_map<void *, void *, boost::hash<void *>, std::__1::equal_to<void *>, std::__1::allocator<std::__1::pair<void *const, void *> > > > >' requested here
boost_ue2::lengauer_tarjan_dominator_tree(g, source, index_map, dfnum_map,
^
/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:81:12: note: in instantiation of function template specialization 'ue2::calcDominators<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> >' requested here
return calcDominators(boost::reverse_graph<NFAGraph, const NFAGraph &>(g.g),
^
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1087:5: note: candidate template ignored: could not match 'undirected_graph_helper' against 'reverse_graph'
degree(typename Config::vertex_descriptor u,
^
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1514:5: note: candidate template ignored: could not match 'bidirectional_graph_helper_with_property' against 'reverse_graph'
degree(typename Config::vertex_descriptor u,
^
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:34:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.h:38:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_holder.h:32:
In file included from /tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_graph.h:46:
In file included from /usr/local/include/boost/graph/adjacency_list.hpp:246:
In file included from /usr/local/include/boost/graph/detail/adjacency_list.hpp:32:
/usr/local/include/boost/graph/graph_concepts.hpp:138:13: error: no matching function for call to 'degree'
n = degree(v, cg);
^~~~~~
/usr/local/include/boost/graph/graph_concepts.hpp:133:9: note: in instantiation of member function 'boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> >::const_constraints' requested here
const_constraints(g);
^
/usr/local/include/boost/concept/usage.hpp:16:43: note: in instantiation of member function 'boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> >::~BidirectionalGraph' requested here
~usage_requirements() { ((Model*)0)->~Model(); }
^
/usr/local/include/boost/concept/detail/general.hpp:39:42: note: in instantiation of member function 'boost::concepts::usage_requirements<boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> > >::~usage_requirements' requested here
static void failed() { ((Model*)0)->~Model(); }
^
/usr/local/include/boost/graph/graph_concepts.hpp:122:9: note: in instantiation of member function 'boost::concepts::requirement<boost::concepts::failed ************boost::concepts::usage_requirements<boost::concepts::BidirectionalGraph<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> > >::************>::failed' requested here
BOOST_CONCEPT_USAGE(BidirectionalGraph) {
^
/usr/local/include/boost/concept/usage.hpp:29:7: note: expanded from macro 'BOOST_CONCEPT_USAGE'
BOOST_CONCEPT_ASSERT((boost::concepts::usage_requirements<model>)); \
^
/usr/local/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:71:51: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
^
/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:67:16: note: in instantiation of function template specialization 'boost_ue2::lengauer_tarjan_dominator_tree<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, boost::iterator_property_map<std::__1::__wrap_iter<unsigned long *>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, unsigned long, unsigned long &>, boost::iterator_property_map<std::__1::__wrap_iter<void **>, boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, unsigned int, const unsigned int &, unsigned int ue2::NFAGraphVertexProps::*>, void *, void *&>, std::__1::vector<void *, std::__1::allocator<void *> >, boost::associative_property_map<boost::unordered::unordered_map<void *, void *, boost::hash<void *>, std::__1::equal_to<void *>, std::__1::allocator<std::__1::pair<void *const, void *> > > > >' requested here
boost_ue2::lengauer_tarjan_dominator_tree(g, source, index_map, dfnum_map,
^
/tmp/hyperscan-20161015-47492-up8wy8/hyperscan-4.3.1/src/nfagraph/ng_dominators.cpp:81:12: note: in instantiation of function template specialization 'ue2::calcDominators<boost::reverse_graph<boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS>, const boost::adjacency_list<boost::listS, boost::listS, boost::bidirectionalS, ue2::NFAGraphVertexProps, ue2::NFAGraphEdgeProps, boost::no_property, boost::listS> &> >' requested here
return calcDominators(boost::reverse_graph<NFAGraph, const NFAGraph &>(g.g),
^
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1087:5: note: candidate template ignored: could not match 'undirected_graph_helper' against 'reverse_graph'
degree(typename Config::vertex_descriptor u,
^
/usr/local/include/boost/graph/detail/adjacency_list.hpp:1514:5: note: candidate template ignored: could not match 'bidirectional_graph_helper_with_property' against 'reverse_graph'
degree(typename Config::vertex_descriptor u,
^
2 errors generated.
make[2]: *** [CMakeFiles/hs.dir/src/nfagraph/ng_dominators.cpp.o] Error 1
make[1]: *** [CMakeFiles/hs.dir/all] Error 2
make: *** [all] Error 2
/usr/local/Homebrew/Library/Homebrew/debrew.rb:11:in `raise'
Full build log is here: https://gist.github.com/ilovezfs/3b8db4415d055a04cf0099e585ad12f3