[SERVER-24208] Use boost::none instead of boost::none_t() Created: 19/May/16 Updated: 08/Jul/16 Resolved: 21/May/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Internal Code |
| Affects Version/s: | 3.2.6 |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Minor - P4 |
| Reporter: | Antoine Poliakov | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Sprint: | Platforms 15 (06/03/16) | ||||||||
| Participants: | |||||||||
| Description |
|
MongoDB doesn't build with recent versions of boost (1.60 here), when using --use-system-boost because of changes in boost::optional. Indeed, boost::none_t is not default constructible anymore, so boost::none_t() doesn't compile anymore. See also: http://www.boost.org/doc/libs/release/boost/none.hpp There are several options to work around this issue:
seems to fix the issue. |
| Comments |
| Comment by Antonio Malcolm [ 08/Jul/16 ] |
|
Not sure it's worth anything, but I'd like to toss in a vote for updating 3.2.* with one of the aforementioned workarounds, considering it's the current stable (3.2.7, per the MongoDB website), Also worthy of mention, it's only three source files which need the update, with a combined instances of 4: Many of us are on *nix systems, and enjoy the benefit of shared libs, rather than using bundled libs, which introduces needless redundancy. |
| Comment by Andrew Morrow (Inactive) [ 21/May/16 ] |
|
Hi antoinep92 - Please note that we don't make any assurances that any branch (in particular stable branches) will work with system boost of any particular version. That is why we vendor a copy of boost. You are free to locally patch, but we are unlikely to backport support for boost 1.60 to the 3.2 branch. |
| Comment by Mark Benvenuto [ 19/May/16 ] |
|
Yes, we migrated our internal copy to boost 1.6.0 and noticed the same problem. In master, the commit that fixes this is here: https://github.com/mongodb/mongo/commit/92c3f80f384d2825efeabd0d26aa534c0deb6988. |