I'm trying to compile latest version of Monero On openSUSE Leap, but it throws an error:
Scanning dependencies of target obj_common
make[3]: Leaving directory '/home/user/monero/build/release'
make[3]: Entering directory '/home/user/monero/build/release'
[ 45%] Building CXX object src/common/CMakeFiles/obj_common.dir/base58.cpp.o
[ 46%] Building CXX object src/common/CMakeFiles/obj_common.dir/command_line.cpp.o
[ 46%] Building CXX object src/common/CMakeFiles/obj_common.dir/dns_utils.cpp.o
[ 47%] Building CXX object src/common/CMakeFiles/obj_common.dir/util.cpp.o
[ 47%] Building CXX object src/common/CMakeFiles/obj_common.dir/i18n.cpp.o
[ 47%] Building CXX object src/common/CMakeFiles/obj_common.dir/perf_timer.cpp.o
[ 48%] Building CXX object src/common/CMakeFiles/obj_common.dir/task_region.cpp.o
[ 48%] Building CXX object src/common/CMakeFiles/obj_common.dir/thread_group.cpp.o
/home/user/monero/src/common/thread_group.cpp: In constructor ‘tools::thread_group::data::data(std::size_t)’:
/home/user/monero/src/common/thread_group.cpp:64:15: error: no matching function for call to ‘tools::thread_group::data::node::node(<brace-enclosed initializer list>)’
, stop(false) {
^
/home/user/monero/src/common/thread_group.cpp:64:15: note: candidate is:
In file included from /home/user/monero/src/common/thread_group.cpp:28:0:
/home/user/monero/src/common/thread_group.h:114:12: note: tools::thread_group::data::node::node(tools::thread_group::data::node&&)
struct node {
^
/home/user/monero/src/common/thread_group.h:114:12: note: no known conversion for argument 1 from ‘std::nullptr_t’ to ‘tools::thread_group::data::node&&’
/home/user/monero/src/common/thread_group.cpp: In member function ‘void tools::thread_group::data::dispatch(std::function<void()>)’:
/home/user/monero/src/common/thread_group.cpp:138:67: error: no matching function for call to ‘tools::thread_group::data::node::node(<brace-enclosed initializer list>)’
std::unique_ptr<work> latest(new work{std::move(f), node{nullptr}});
^
/home/user/monero/src/common/thread_group.cpp:138:67: note: candidate is:
In file included from /home/user/monero/src/common/thread_group.cpp:28:0:
/home/user/monero/src/common/thread_group.h:114:12: note: tools::thread_group::data::node::node(tools::thread_group::data::node&&)
struct node {
^
/home/user/monero/src/common/thread_group.h:114:12: note: no known conversion for argument 1 from ‘std::nullptr_t’ to ‘tools::thread_group::data::node&&’
/home/user/monero/src/common/thread_group.cpp:138:68: error: no matching function for call to ‘tools::thread_group::data::work::work(<brace-enclosed initializer list>)’
std::unique_ptr<work> latest(new work{std::move(f), node{nullptr}});
^
/home/user/monero/src/common/thread_group.cpp:138:68: note: candidate is:
In file included from /home/user/monero/src/common/thread_group.cpp:28:0:
/home/user/monero/src/common/thread_group.h:119:12: note: tools::thread_group::data::work::work(tools::thread_group::data::work&&)
struct work {
^
/home/user/monero/src/common/thread_group.h:119:12: note: candidate expects 1 argument, 2 provided
src/common/CMakeFiles/obj_common.dir/build.make:230: recipe for target 'src/common/CMakeFiles/obj_common.dir/thread_group.cpp.o' failed
make[3]: *** [src/common/CMakeFiles/obj_common.dir/thread_group.cpp.o] Error 1
make[3]: Leaving directory '/home/user/monero/build/release'
CMakeFiles/Makefile2:535: recipe for target 'src/common/CMakeFiles/obj_common.dir/all' failed
make[2]: *** [src/common/CMakeFiles/obj_common.dir/all] Error 2
make[2]: Leaving directory '/home/user/monero/build/release'
Makefile:138: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/user/monero/build/release'
Makefile:58: recipe for target 'release-all' failed
make: *** [release-all] Error 2
It seems to be related to src/common/thread_group.cpp
. What should I do?
Update:
I'm able to build the official stable release (v 0.10.0) from the source. So the problem must be related to newer commits.