Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to build Scylla with boost-1.55 (Ubuntu 14.04, Debian 8) #1892

Closed
syuu1228 opened this issue Nov 26, 2016 · 2 comments
Closed

Fails to build Scylla with boost-1.55 (Ubuntu 14.04, Debian 8) #1892

syuu1228 opened this issue Nov 26, 2016 · 2 comments
Milestone

Comments

@syuu1228
Copy link
Contributor

On master, we are getting compilation error with boost-1.55.
Because of this package build failing on Ubuntu 14.04 and Debian 8.
I tried to backport boost-1.58 on Debian 8, it seems able to build finely with the version.
Should we backport 1.58 on these distributions, or can we avoid the build error with current boost version?

Error message:

FAILED: g++-5 -MMD -MT build/release/gen/cql3/CqlParser.o -MF build/release/gen/cql3/CqlParser.o.d -std=gnu++1y -g  -Wall -Werror -fvisibility=hidden -pthread -I/home/syuu/scylla.8/seastar -I/home/syuu/scylla.8/seastar/fmt -I/home/syuu/scylla.8/seastar/build/release/gen  -march=nehalem -Ifmt -DBOOST_TEST_DYN_LINK -Wno-overloaded-virtual -DFMT_HEADER_ONLY -DNO_EXCEPTION_INTERCEPT -DHAVE_HWLOC -DHAVE_NUMA  -O2 -I/usr/include/jsoncpp -DBOOST_TEST_DYN_LINK  -Wno-maybe-uninitialized -DHAVE_LIBSYSTEMD=1 -I. -I build/release/gen -I seastar -I seastar/build/release/gen -c -o build/release/gen/cql3/CqlParser.o build/release/gen/cql3/CqlParser.cpp
In file included from /usr/include/boost/intrusive/list_hook.hpp:19:0,
                 from /usr/include/boost/intrusive/list.hpp:20,
                 from /home/syuu/scylla.8/seastar/core/timer-set.hh:21,
                 from /home/syuu/scylla.8/seastar/core/timer.hh:29,
                 from /home/syuu/scylla.8/seastar/core/future-util.hh:32,
                 from /home/syuu/scylla.8/seastar/core/iostream-impl.hh:26,
                 from /home/syuu/scylla.8/seastar/core/iostream.hh:224,
                 from /home/syuu/scylla.8/seastar/core/reactor.hh:26,
                 from /home/syuu/scylla.8/seastar/net/net.hh:25,
                 from /home/syuu/scylla.8/seastar/net/arp.hh:26,
                 from /home/syuu/scylla.8/seastar/net/ip.hh:37,
                 from ./types.hh:44,
                 from ./cql3/column_specification.hh:44,
                 from ./schema.hh:30,
                 from ./cql3/selection/selectable.hh:45,
                 from ./cql3/selection/writetime_or_ttl.hh:45,
                 from build/release/gen/cql3/CqlParser.hpp:63,
                 from build/release/gen/cql3/CqlParser.cpp:44:
/usr/include/boost/intrusive/detail/utilities.hpp: In instantiation of 'bool boost::intrusive::detail::key_nodeptr_comp<KeyValueCompare, RealValueTraits>::operator()(const KeyType&, const KeyType2&) const [with KeyType = position_in_partition; KeyType2 = boost::intrusive::rbtree_node<void*>*; KeyValueCompare = partition_snapshot_reader<>::rows_entry_compare; RealValueTraits = boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link>]':
/usr/include/boost/intrusive/bstree_algorithms.hpp:1869:17:   required from 'static boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr boost::intrusive::bstree_algorithms<NodeTraits>::upper_bound_loop(boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr, boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr, const KeyType&, KeyNodePtrCompare) [with KeyType = position_in_partition; KeyNodePtrCompare = boost::intrusive::detail::key_nodeptr_comp<partition_snapshot_reader<>::rows_entry_compare, boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link> >; NodeTraits = boost::intrusive::rbtree_node_traits<void*, false>; boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr = boost::intrusive::rbtree_node<void*>*]'
/usr/include/boost/intrusive/bstree_algorithms.hpp:940:30:   required from 'static boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr boost::intrusive::bstree_algorithms<NodeTraits>::upper_bound(const const_node_ptr&, const KeyType&, KeyNodePtrCompare) [with KeyType = position_in_partition; KeyNodePtrCompare = boost::intrusive::detail::key_nodeptr_comp<partition_snapshot_reader<>::rows_entry_compare, boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link> >; NodeTraits = boost::intrusive::rbtree_node_traits<void*, false>; boost::intrusive::bstree_algorithms<NodeTraits>::node_ptr = boost::intrusive::rbtree_node<void*>*; boost::intrusive::bstree_algorithms<NodeTraits>::const_node_ptr = const boost::intrusive::rbtree_node<void*>*]'
/usr/include/boost/intrusive/bstree.hpp:273:10:   required from 'boost::intrusive::bstbase2<ValueTraits, VoidOrKeyComp, AlgoType>::iterator boost::intrusive::bstbase2<ValueTraits, VoidOrKeyComp, AlgoType>::upper_bound(const KeyType&, KeyValueCompare) [with KeyType = position_in_partition; KeyValueCompare = partition_snapshot_reader<>::rows_entry_compare; ValueTraits = boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link>; VoidOrKeyComp = rows_entry::compare; boost::intrusive::algo_types AlgoType = (boost::intrusive::algo_types)4u; boost::intrusive::bstbase2<ValueTraits, VoidOrKeyComp, AlgoType>::iterator = boost::intrusive::tree_iterator<boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link>, false>]'
./partition_version.hh:353:89:   required from 'partition_snapshot_reader<MemoryAccounter>::refresh_iterators()::<lambda()> [with MemoryAccounter = partition_snapshot_reader_dummy_accounter; boost::intrusive::set<rows_entry, boost::intrusive::member_hook<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link>, boost::intrusive::compare<rows_entry::compare> >::const_iterator = boost::intrusive::tree_iterator<boost::intrusive::mhtraits<rows_entry, boost::intrusive::set_member_hook<>, &rows_entry::_link>, true>]'
./partition_version.hh:353:28:   required from 'struct partition_snapshot_reader<MemoryAccounter>::refresh_iterators() [with MemoryAccounter = partition_snapshot_reader_dummy_accounter]::<lambda()>'
./partition_version.hh:357:14:   required from 'void partition_snapshot_reader<MemoryAccounter>::refresh_iterators() [with MemoryAccounter = partition_snapshot_reader_dummy_accounter]'
./partition_version.hh:429:30:   required from 'void partition_snapshot_reader<MemoryAccounter>::do_fill_buffer() [with MemoryAccounter = partition_snapshot_reader_dummy_accounter]'
./partition_version.hh:480:23:   required from 'partition_snapshot_reader<MemoryAccounter>::partition_snapshot_reader(schema_ptr, dht::decorated_key, lw_shared_ptr<partition_snapshot>, query::clustering_key_filter_ranges, logalloc::region&, logalloc::allocating_section&, boost::any, Args&& ...) [with Args = {}; MemoryAccounter = partition_snapshot_reader_dummy_accounter; schema_ptr = lw_shared_ptr<const schema>]'
/usr/include/c++/5/bits/unique_ptr.h:768:69:   required from 'typename std::_MakeUniq<_Tp>::__single_object std::make_unique(_Args&& ...) [with _Tp = partition_snapshot_reader<>; _Args = {lw_shared_ptr<const schema>&, dht::decorated_key, lw_shared_ptr<partition_snapshot>&, query::clustering_key_filter_ranges, logalloc::region&, logalloc::allocating_section&, boost::any}; typename std::_MakeUniq<_Tp>::__single_object = std::unique_ptr<partition_snapshot_reader<>, std::default_delete<partition_snapshot_reader<> > >]'
./streamed_mutation.hh:480:52:   required from 'streamed_mutation make_streamed_mutation(Args&& ...) [with Impl = partition_snapshot_reader<>; Args = {lw_shared_ptr<const schema>&, dht::decorated_key, lw_shared_ptr<partition_snapshot>&, query::clustering_key_filter_ranges, logalloc::region&, logalloc::allocating_section&, boost::any}]'
./partition_version.hh:529:86:   required from here
/usr/include/boost/intrusive/detail/utilities.hpp:222:27: error: no match for call to '(const partition_snapshot_reader<>::rows_entry_compare) (const position_in_partition&, const value_type&)'
    {  return base_t::get()(this->key_forward(key1), this->key_forward(key2));  }
                           ^
In file included from ./memtable.hh:33:0,
                 from ./database.hh:62,
                 from ./service/storage_proxy.hh:44,
                 from ./db/schema_tables.hh:43,
                 from ./db/system_keyspace.hh:46,
                 from ./cql3/functions/function_name.hh:45,
                 from ./cql3/selection/selectable.hh:48,
                 from ./cql3/selection/writetime_or_ttl.hh:45,
                 from build/release/gen/cql3/CqlParser.hpp:63,
                 from build/release/gen/cql3/CqlParser.cpp:44:
./partition_version.hh:300:14: note: candidate: bool partition_snapshot_reader<MemoryAccounter>::rows_entry_compare::operator()(const rows_entry&, const position_in_partition&) [with MemoryAccounter = partition_snapshot_reader_dummy_accounter]
         bool operator()(const rows_entry& a, const position_in_partition& b) {
              ^
./partition_version.hh:300:14: note:   no known conversion for argument 1 from 'const position_in_partition' to 'const rows_entry&'
./partition_version.hh:305:14: note: candidate: bool partition_snapshot_reader<MemoryAccounter>::rows_entry_compare::operator()(const position_in_partition&, const rows_entry&) [with MemoryAccounter = partition_snapshot_reader_dummy_accounter] <near match>
         bool operator()(const position_in_partition& a, const rows_entry& b) {
              ^
./partition_version.hh:305:14: note:   passing 'const partition_snapshot_reader<>::rows_entry_compare*' as 'this' argument discards qualifiers
@tzach tzach added this to the 1.7 milestone Nov 27, 2016
@syuu1228
Copy link
Contributor Author

@avikivity Should we fix this issue by backporting newer boost?

@avikivity
Copy link
Member

Let me see if we can do a simple code fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants