src/test/librbd/test_mock_Journal.cc:485:42: error: reference to '_1' is ambiguous std::bind(&invoke_replay_complete, _1, 0)); ^ /usr/local/include/boost/bind/placeholders.hpp:46:38: note: candidate found by name lookup is 'boost::placeholders::_1' BOOST_STATIC_CONSTEXPR boost::arg<1> _1; ^ /usr/include/c++/v1/functional:2021:21: note: candidate found by name lookup is 'std::__1::placeholders::_1' constexpr __ph<1> _1{}; ^ --- CMakeLists.txt.orig 2020-01-30 21:52:36.000000000 +0100 +++ CMakeLists.txt 2020-05-28 16:50:46.412927163 +0200 @@ -563,7 +563,7 @@ set(BOOST_HEADER_COMPONENTS container) if(WITH_MGR) - list(APPEND BOOST_COMPONENTS python) + list(APPEND BOOST_COMPONENTS python27) endif() if(WITH_BOOST_CONTEXT) list(APPEND BOOST_COMPONENTS context coroutine) --- src/CMakeLists.txt.orig 2020-01-30 21:52:36.000000000 +0100 +++ src/CMakeLists.txt 2020-05-28 20:58:47.848974172 +0200 @@ -722,7 +722,7 @@ $) target_include_directories(ceph-mgr SYSTEM PRIVATE "${PYTHON_INCLUDE_DIRS}") target_link_libraries(ceph-mgr osdc client global-static ceph-common - Boost::python ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS}) + Boost::python27 ${MGR_PYTHON_LIBRARIES} ${BLKID_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS}) install(TARGETS ceph-mgr DESTINATION bin) endif (WITH_MGR) --- src/test/librbd/test_mock_Journal.cc.orig 2020-01-30 21:52:36.000000000 +0100 +++ src/test/librbd/test_mock_Journal.cc 2020-05-29 06:26:16.934514447 +0200 @@ -482,7 +482,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); MockJournalReplay mock_journal_replay; expect_stop_replay(mock_journaler); @@ -531,7 +531,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); ::journal::MockReplayEntry mock_replay_entry; MockJournalReplay mock_journal_replay; @@ -540,11 +540,11 @@ expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); expect_replay_process(mock_journal_replay); expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); expect_replay_process(mock_journal_replay); expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); @@ -601,7 +601,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, -EINVAL)); + std::bind(&invoke_replay_complete, std::placeholders::_1, -EINVAL)); MockJournalReplay mock_journal_replay; expect_stop_replay(mock_journaler); @@ -616,7 +616,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); @@ -649,14 +649,14 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); ::journal::MockReplayEntry mock_replay_entry; MockJournalReplay mock_journal_replay; expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); expect_replay_process(mock_journal_replay); expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, -EINVAL); expect_flush_commit_position(mock_journaler); @@ -669,7 +669,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); @@ -702,7 +702,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); ::journal::MockReplayEntry mock_replay_entry; MockJournalReplay mock_journal_replay; @@ -720,7 +720,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); expect_flush_commit_position(mock_journaler); @@ -752,7 +752,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); MockJournalReplay mock_journal_replay; expect_stop_replay(mock_journaler); @@ -786,7 +786,7 @@ expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); ::journal::MockReplayEntry mock_replay_entry; MockJournalReplay mock_journal_replay; @@ -813,7 +813,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, { - std::bind(&invoke_replay_complete, _1, 0) + std::bind(&invoke_replay_complete, std::placeholders::_1, 0) }); expect_stop_replay(mock_journaler); @@ -868,14 +868,14 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_ready, _1)); + std::bind(&invoke_replay_ready, std::placeholders::_1)); ::journal::MockReplayEntry mock_replay_entry; MockJournalReplay mock_journal_replay; expect_try_pop_front(mock_image_ctx, mock_journaler, true, mock_replay_entry); expect_replay_process(mock_journal_replay); expect_try_pop_front(mock_image_ctx, mock_journaler, false, mock_replay_entry, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); Context *on_flush = nullptr; @@ -892,7 +892,7 @@ expect_get_max_append_size(mock_journaler, 1 << 16); expect_start_replay( mock_image_ctx, mock_journaler, - std::bind(&invoke_replay_complete, _1, 0)); + std::bind(&invoke_replay_complete, std::placeholders::_1, 0)); expect_stop_replay(mock_journaler); expect_shut_down_replay(mock_image_ctx, mock_journal_replay, 0); --- src/test/lazy-omap-stats/lazy_omap_stats_test.cc.orig 2020-01-30 21:52:36.000000000 +0100 +++ src/test/lazy-omap-stats/lazy_omap_stats_test.cc 2020-05-29 08:04:42.179189658 +0200 @@ -331,7 +331,7 @@ vector tokens(tok.begin(), tok.end()); auto it = find(tokens.begin(), tokens.end(), label); if (it != tokens.end()) { - return distance(tokens.begin(), it); + return std::distance(tokens.begin(), it); } cerr << "find_index failed to find index for " << label << endl;