[SERVER-24950] Core Compile Fails Against Boost v1.61.0 Created: 08/Jul/16 Updated: 07/Dec/16 Resolved: 08/Jul/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | 3.2.7 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Antonio Malcolm | Assignee: | Unassigned |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Void Linux |
||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Steps To Reproduce: | scons core \ |
||||||||
| Participants: | |||||||||
| Description |
|
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 {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> > >' ; 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. |
| Comments |
| Comment by Antonio Malcolm [ 08/Jul/16 ] |
|
Noted. Adding a comment to that ticket. |
| Comment by Kelsey Schubert [ 08/Jul/16 ] |
|
Hi antonio-malcolm, Thanks for the report. Please see the discussion on Kind regards, |