-- Running cmake version 3.10.0
...... 中间省略
-- BOOST_VERSION_NUMBER is #define BOOST_VERSION 106501
CMake Warning at cmake/boost.cmake:266 (MESSAGE):
**Boost minor version found is 65 we need 59** //**此为关键问题**
Call Stack (most recent call first):
CMakeLists.txt:491 (INCLUDE)
-- BOOST_INCLUDE_DIR D:/develop/7.lang/boost_1_65_1
-- LOCAL_BOOST_DIR D:/develop/7.lang/boost_1_65_1
-- LOCAL_BOOST_ZIP LOCAL_BOOST_ZIP-NOTFOUND
-- Could not find (the correct version of) boost.
-- MySQL currently requires boost_1_59_0
CMake Error at cmake/boost.cmake:81 (MESSAGE):
You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
This CMake script will look for boost in <directory>. If it is not there,
it will download and unpack it (in that directory) for you.
If you are inside a firewall, you may need to use an http proxy:
export http_proxy=http://example.com:80
Call Stack (most recent call first):
cmake/boost.cmake:269 (COULD_NOT_FIND_BOOST)
CMakeLists.txt:491 (INCLUDE)
-- Configuring incomplete, errors occurred!
从错误日志来看,应该是boost的版本不对,MySQL5.7源码编译需要的boost_1_59_0,当前安装的版本是1_65_1。然后再看下源码确认下,打开{源码包目录}/cmake/boost.cmake,定位到269行。
IF(NOT BOOST_MINOR_VERSION EQUAL 59)
MESSAGE(WARNING "Boost minor version found is ${BOOST_MINOR_VERSION} "
"we need 59"
)
COULD_NOT_FIND_BOOST() //此处为错误日志打出来的地方
ENDIF()
应该就是版本问题,下载boost_1_59_0重新编译下试试。
另外一篇博客会完整记录下编译过程。