-
Type:
Bug
-
Resolution: Duplicate
-
Priority:
Major - P3
-
None
-
Affects Version/s: 3.2.7
-
Component/s: Build
-
None
-
Environment:Void Linux
-
ALL
-
-
None
-
0
-
None
-
None
-
None
-
None
-
None
-
None
When building MongoDB core r3.2.7 against Boost v1.61.0, the build fails, with the following error:
src/mongo/db/ftdc/compressor.cpp:50:31: error: no matching function for call to 'boost::none_t::none_t()'
return
;
^
src/mongo/db/ftdc/compressor.cpp:50:31: note: candidates are:
In file included from /usr/local/include/boost/none.hpp:16:0,
from /usr/local/include/boost/optional/optional.hpp:47,
from /usr/local/include/boost/optional.hpp:15,
from src/mongo/db/ftdc/compressor.h:31,
from src/mongo/db/ftdc/compressor.cpp:31:
/usr/local/include/boost/none_t.hpp:32:12: note: boost::none_t::none_t(boost::none_t::init_tag)
explicit none_t(init_tag){} // to disable default constructor
^
/usr/local/include/boost/none_t.hpp:32:12: note: candidate expects 1 argument, 0 provided
/usr/local/include/boost/none_t.hpp:29:8: note: constexpr boost::none_t::none_t(const boost::none_t&)
struct none_t
^
/usr/local/include/boost/none_t.hpp:29:8: note: candidate expects 1 argument, 0 provided
/usr/local/include/boost/none_t.hpp:29:8: note: constexpr boost::none_t::none_t(boost::none_t&&)
/usr/local/include/boost/none_t.hpp:29:8: note: candidate expects 1 argument, 0 provided
src/mongo/db/ftdc/compressor.cpp:50:32: error: could not convert '
return {boost::none_t()};
^
src/mongo/db/ftdc/compressor.cpp:110:27: error: no matching function for call to 'boost::none_t::none_t()'
return {boost::none_t()};
^
src/mongo/db/ftdc/compressor.cpp:110:27: note: candidates are:
In file included from /usr/local/include/boost/none.hpp:16:0,
from /usr/local/include/boost/optional/optional.hpp:47,
from /usr/local/include/boost/optional.hpp:15,
from src/mongo/db/ftdc/compressor.h:31,
from src/mongo/db/ftdc/compressor.cpp:31:
/usr/local/include/boost/none_t.hpp:32:12: note: boost::none_t::none_t(boost::none_t::init_tag)
explicit none_t(init_tag){} // to disable default constructor
^
/usr/local/include/boost/none_t.hpp:32:12: note: candidate expects 1 argument, 0 provided
/usr/local/include/boost/none_t.hpp:29:8: note: constexpr boost::none_t::none_t(const boost::none_t&)
struct none_t
^
/usr/local/include/boost/none_t.hpp:29:8: note: candidate expects 1 argument, 0 provided
/usr/local/include/boost/none_t.hpp:29:8: note: constexpr boost::none_t::none_t(boost::none_t&&)
/usr/local/include/boost/none_t.hpp:29:8: note: candidate expects 1 argument, 0 provided
src/mongo/db/ftdc/compressor.cpp:110:28: error: could not convert '{<expression error>}
' from '<brace-enclosed initializer list>' to 'mongo::StatusWith<boost::optional<std::tuple<mongo::ConstDataRange, mongo::FTDCCompressor::CompressorState, mongo::Date_t> > >'
return
;
^
src/mongo/db/ftdc/compressor.cpp:111:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
scons: *** [build/opt/mongo/db/ftdc/compressor.o] Error 1
scons: building terminated because of errors.
I'm guessing this is due to boost::none_t() needing to be replaced with boost::none, and will attempt patching the source, to see if that works.
This also means it would break against Boost v1.60, as that version requires the same change. This means MongoDB does not built against the latest version of Boost.
- duplicates
-
SERVER-24208 Use boost::none instead of boost::none_t()
-
- Closed
-