On Fri, Aug 26, 2016 at 06:42:47PM +0000, Sage Weil wrote: > Now that we've transitioned to cmake, I'd like to resurrect the discussion > about moving to a new version of boost. I'm dying to use small_vector and > flat_map. > > IIRC, we have a few options: As a distribution packager for a very long time, I'm firmly in the #4 camp, but worry about the bugs present in system Boost... As an example of those bugs, and a useful data point on how other major projects are handling similar issues with Boost, there was an email that crossed my inbox this morning, as I used to lead Gentoo's MySQL team. MySQL 5.7 uses the Boost geometry code. MySQL builds were failing the testsuite with newer boost releases, which lead to bugs and this email we got from the Oracle MySQL packaging people. Relevant excerpts below: >>MySQL 5.7 has a strict requirement on Boost 1.59.0. ... >>... >>Currently, MySQL includes fixes for bugs that haven't been fixed in Boost >>1.61.0 (we expect them to be included in Boost 1.63.0, but by then we may >>have fixes that won't land in a Boost release until 1.64.0). If you change >>the CMake files to use Boost 1.61.0, MySQL will compile, but the test >>suite will fail because of missing bugfixes. Even if all bugfixes are >>included and MySQL builds successfully with a new Boost, there's no >>guarantee that the order of floating point operations in newer Boost >>versions are the same, so results of operations may differ slightly, and >>the testsuite may fail. >>... >>Therefore, we strongly recommend always building MySQL with the specified >>version of Boost. We're taking care of backporting all the necesary >>bugfixes. Debian, Ubuntu, Fedora and Red Hat are all following our advice, >>and on request from them, we have made a special tarball that includes >>MySQL and the Boost header files. It's available for download from the >>MySQL download site [2]. >>... >>Debian, Ubuntu, Fedora and Red Hat are going to be using the mysql-boost >>tarball going forward, so I recommend that Gentoo does the same. Another >>option is to build from two tarballs: MySQL and Boost 1.59.0. -- Robin Hugh Johnson Gentoo Linux: Dev, Infra Lead, Foundation Trustee & Treasurer E-Mail : robbat2@xxxxxxxxxx GnuPG FP : 11ACBA4F 4778E3F6 E4EDF38E B27B944E 34884E85 GnuPG FP : 7D0B3CEB E9B85B1F 825BCECF EE05E6F6 A48F6136
Attachment:
signature.asc
Description: Digital signature