Bug #82260 only boost-1.59.0 is supported - docs say otherwise
Submitted: 18 Jul 2016 4:47 Modified: 28 Jul 2016 2:05
Reporter: Daniel Black (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:5.7.13 OS:Any
Assigned to: CPU Architecture:Any

[18 Jul 2016 4:47] Daniel Black
Description:
https://dev.mysql.com/doc/refman/5.7/en/source-installation.html says boost-1.59.0 *or later* is supported.

How to repeat:
curl http://jaist.dl.sourceforge.net/project/boost/boost/1.61.0/boost_1_61_0.tar.gz > /build/boost_1_61_0.tar.gz

13:56:36  cmake /source -DCMAKE_BUILD_TYPE=${BUILD_TYPE:-Release} -DBUILD_CONFIG=mysql_release \
13:56:36       -DWITH_BOOST=/build/boost_1_61_0.tar.gz -DWITH_PROTOBUF=system \
13:56:36       -DCMAKE_C_COMPILER=${CC:-gcc} -DCMAKE_CXX_COMPILER=${CXX:-g++} \
13:56:36       -DCMAKE_C_FLAGS_RELWITHDEBINFO="${CFLAGS}"  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="${CXXFLAGS}" \
13:56:36       -DCMAKE_C_FLAGS="${CFLAGS}" -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \
13:56:36       -DWITH_SSL=system \
13:56:36       -DCMAKE_INSTALL_PREFIX="${DEST}" \
13:56:36       ${CMAKE_EXTRA} || cat /build/build/CMakeFiles/CMakeOutput.log
13:56:36  + cmake /source -DCMAKE_BUILD_TYPE=Debug -DBUILD_CONFIG=mysql_release -DWITH_BOOST=/build/boost_1_61_0.tar.gz -DWITH_PROTOBUF=system -DCMAKE_C_COMPILER=gcc-6 -DCMAKE_CXX_COMPILER=g++-6 '-DCMAKE_C_FLAGS_RELWITHDEBINFO=-m64 -O3 -g -mtune=native' '-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=-m64 -O3 -g -mtune=native' '-DCMAKE_C_FLAGS=-m64 -O3 -g -mtune=native' '-DCMAKE_CXX_FLAGS=-m64 -O3 -g -mtune=native' -DWITH_SSL=system -DCMAKE_INSTALL_PREFIX=/mysql_on_ibm_power-Debug-5.7-POWER_FIXES

13:56:36  -- Running cmake version 3.5.1
13:56:36  -- Found Git: /usr/bin/git (found version "2.7.4") 
13:56:36  -- Configuring with MAX_INDEXES = 64U
13:56:36  -- The C compiler identification is GNU 6.1.1
13:56:36  -- The CXX compiler identification is GNU 6.1.1
13:56:36  -- Check for working C compiler: /usr/bin/gcc-6
13:56:36  -- Check for working C compiler: /usr/bin/gcc-6 -- works
13:56:36  -- Detecting C compiler ABI info
13:56:36  -- Detecting C compiler ABI info - done
13:56:36  -- Detecting C compile features
13:56:36  -- Detecting C compile features - done
13:56:36  -- Check for working CXX compiler: /usr/bin/g++-6
13:56:36  -- Check for working CXX compiler: /usr/bin/g++-6 -- works
13:56:36  -- Detecting CXX compiler ABI info
13:56:36  -- Detecting CXX compiler ABI info - done

13:56:36  -- Packaging as: mysql-5.7.13-Linux-x86_64
13:56:36  -- Local boost zip /build/boost_1_61_0.tar.gz
13:56:36  -- cd /build; tar xfz /build/boost_1_61_0.tar.gz
13:56:36  -- Found /usr/include/boost/version.hpp 
13:56:36  -- BOOST_VERSION_NUMBER is #define BOOST_VERSION 105800
13:56:36  CMake Warning at cmake/boost.cmake:266 (MESSAGE):
13:56:36    Boost minor version found is 58 we need 59

Suggested fix:
a) specifying local zip file should set LOCAL_BOOST_DIR/BOOST_INCLUDE_DIR to the unzipped directory/include path.

b) only 1.59.0 is supported so potentially the documentation needs updating.

https://github.com/mysql/mysql-server/blob/5.7/cmake/boost.cmake#L265

c) currently boost-1.59.0 will compile fail on gcc-6 because this patch https://github.com/boostorg/thread/pull/66/commits/baca5170581a12dceb6242d27252f901c777079... doesn't occur in the 1.59.0 version.
[18 Jul 2016 5:23] Umesh Shastry
Hello Daniel,

Thank you for the report and feedback!

Thanks,
Umesh
[28 Jul 2016 2:05] Paul Dubois
Thank you for your bug report. This issue has been addressed in the documentation. The updated documentation will appear on our website shortly.