[SERVER-8994] Upgrade boost to 1.5x Created: 15/Mar/13  Updated: 11/Jul/16  Resolved: 22/Aug/14

Status: Closed
Project: Core Server
Component/s: Build
Affects Version/s: None
Fix Version/s: 2.7.6

Type: Task Priority: Major - P3
Reporter: Andrew Morrow (Inactive) Assignee: Mark Benvenuto
Resolution: Done Votes: 1
Labels: community-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-14804 Master fails to build with Visual Stu... Closed
Related
related to CXX-164 Audit use of boost::thread re join()/... Closed
Backwards Compatibility: Fully Compatible
Sprint: Server 2.7.3, Server 2.7.4, Server 2.7.5, Server 2.7.6
Participants:

 Description   

We are a few revs behind on boost. We should consider advancing to boost 1.52 or boost 1.53 for the 2.5/2.6 release cycle, mostly to pick up bug fixes and better C++11 support.



 Comments   
Comment by Githook User [ 03/Mar/15 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Remove Boost 1.49
Branch: master
https://github.com/mongodb/mongo/commit/95940768bcff61b59ed83dcc94c5afc001cef70f

Comment by Githook User [ 15/Jan/15 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.56 fixes
Branch: master
https://github.com/mongodb/mongo/commit/d26fcb64a7df86131e4951a31f07732d0d9b912f

Comment by Githook User [ 22/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Make Boost 1.56 default
Branch: master
https://github.com/mongodb/mongo/commit/6792a5035e18f23ebb4d2eb958a84953fcdb9ee1

Comment by Githook User [ 21/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Remove Boost 1.55
Branch: master
https://github.com/mongodb/mongo/commit/0dcc9c14f5d8f0f26c174676fa770b18f4aa122c

Comment by Githook User [ 20/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.56 - fix uninitialized variable in lexical_cast.hpp

Fix comes from lexical_cast.diff: https://svn.boost.org/trac/boost/ticket/4946
Branch: master
https://github.com/mongodb/mongo/commit/9998efd1b20de152ae098f69714e1578ae92a5ca

Comment by Githook User [ 20/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.56 build fixes
Branch: master
https://github.com/mongodb/mongo/commit/2d5d662a834fab72ee1431e3bb0a5ed5a0826177

Comment by Githook User [ 20/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.56 build system integration
Branch: master
https://github.com/mongodb/mongo/commit/351523db3169a6c5e2df96f83eacea31978bea3d

Comment by Githook User [ 15/Aug/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.56.0

Initial import of source

Libraries: algorithm array asio bind chrono config container date_time
filesystem function integer intrusive noncopyable optional
program_options random smart_ptr static_assert thread unordered utility
Branch: master
https://github.com/mongodb/mongo/commit/0d1d5016b57c59817fa0619e5cf4c6df046b28c3

Comment by Mathias Stearn [ 08/Aug/14 ]

FYI, 1.56 has been released: http://www.boost.org/users/history/version_1_56_0.html

Among many other things, it has a move-enabled boost::optional.

Comment by Githook User [ 12/Jun/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.55 MacOS X fixes

1. Move swap from std to mongo namespace. Fixed C++ build on 10.9 with
XCode 5.1
2. Add check to see if no-null-conversion needs to be enabled for C++
build on 10.8 with Xcode 4.2
Branch: master
https://github.com/mongodb/mongo/commit/a2d69514a4ebf111cab43953af45759e9f2a02b0

Comment by Githook User [ 06/Jun/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: New internal-boost option to choose internal boost version
Branch: master
https://github.com/mongodb/mongo/commit/dae863af3f695fe98c16473ca07d79fb106121c0

Comment by Githook User [ 06/Jun/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Build fixes for boost 1.55.0 with gcc & msvc
Branch: master
https://github.com/mongodb/mongo/commit/7a95cbf89f27abc0b2fb494da4c40efd59a3e1da

Comment by Githook User [ 04/Jun/14 ]

Author:

{u'username': u'markbenvenuto', u'name': u'Mark Benvenuto', u'email': u'mark.benvenuto@mongodb.com'}

Message: SERVER-8994: Boost 1.55

Initial import of source

Libraries: algorithm array bind chrono config container date_time
filesystem function integer intrusive noncopyable optional
program_options random smart_ptr static_assert thread unordered utility
Branch: master
https://github.com/mongodb/mongo/commit/e727510b1a2f004446cdbe7b1b56ce2a935fdb63

Comment by Tad Marshall [ 31/May/13 ]

There may be Boost issues related to locales and traits in 1.49, but I haven't tried a newer version to verify this. I get Boost errors related to locales in Solaris until I do "export LC_ALL=C" and when I searched the web for clues I found a "mea culpa" from a Boost developer who said that they had fixed this.

Comment by Andrew Morrow (Inactive) [ 31/May/13 ]

In that case we need to do the audit sooner rather than later. Any system that builds with --use-system-boost and has boost > 1.49 is going to be at risk, and that is most linux vendor packages (e.g. debian).

Comment by Mathias Stearn [ 31/May/13 ]

FYI: we will need to audit all uses of boost::thread to make sure we call join() or detach() before the thread is destructed: https://svn.boost.org/trac/boost/ticket/6266. Version 1.49 had an implicit detach() in the destructor and we have relied on that behavior. The new behavior is the same as std::thread in c++11 so we would probably need to do this anyway.

Generated at Thu Feb 08 03:19:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.