2014年9月29日月曜日

MySQL 5.7.5のコンパイルにはBoostが必要になった

実際にはLabs版の5.7.4(InnoDB GIS)から必要になってたらしい。5.7.5のリリースノート を"boost"で引っかけると出てきたり、Building MySQL with Boost | MySQL Server Blog に書いてあったりした内容を試したっていうだけのメモ。

( ´-`).oO(MySQL Server Blogには1.55が必要って書いてあるけど、リリースノートにはバージョン特に書いてないなぁ。。cmake/boost.cmakeを見る限り、1.55が決め打ちで必要とされてるぽいけど(1.56ではダメ)


CentOS 6.3の公式リポジトリからyumで突っ込んでみるも、バージョンが1.41なのでやっぱりダメっぽい。

$ cmake .
..
-- BOOST_VERSION_NUMBER is #define BOOST_VERSION 104100
CMake Warning at cmake/boost.cmake:200 (MESSAGE):
  Boost minor version found is 41 we need 55
Call Stack (most recent call first):
  CMakeLists.txt:466 (INCLUDE)


-- Could not find (the correct version of) boost.

CMake Error at cmake/boost.cmake:37 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>

  This CMake script will look for boost in $lt;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:203 (COULD_NOT_FIND_BOOST)
  CMakeLists.txt:466 (INCLUDE)


-- Configuring incomplete, errors occurred!


$ rpm -qa | grep boost
boost-date-time-1.41.0-18.el6.x86_64
boost-iostreams-1.41.0-18.el6.x86_64
boost-wave-1.41.0-18.el6.x86_64
boost-1.41.0-18.el6.x86_64
boost-system-1.41.0-18.el6.x86_64
boost-thread-1.41.0-18.el6.x86_64
boost-program-options-1.41.0-18.el6.x86_64
boost-python-1.41.0-18.el6.x86_64
boost-regex-1.41.0-18.el6.x86_64
boost-signals-1.41.0-18.el6.x86_64
boost-serialization-1.41.0-18.el6.x86_64
boost-devel-1.41.0-18.el6.x86_64
boost-graph-1.41.0-18.el6.x86_64
boost-math-1.41.0-18.el6.x86_64
boost-filesystem-1.41.0-18.el6.x86_64
boost-test-1.41.0-18.el6.x86_64


というわけで、前述のURLの通りにcmakeにオプションを渡してやる。

$ cmake -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/tmp/boost
-- Running cmake version 2.8.11.1
..
-- MySQL 5.7.5-m15
-- Packaging as: mysql-5.7.5-m15-Linux-x86_64
-- Local boost dir LOCAL_BOOST_DIR-NOTFOUND
-- Local boost zip LOCAL_BOOST_ZIP-NOTFOUND
-- Downloading boost_1_55_0.tar.gz to /tmp/boost
-- [download 0% complete]
..
-- cd /tmp/boost; tar xfz /tmp/boost/boost_1_55_0.tar.gz
-- BOOST_VERSION_NUMBER is #define BOOST_VERSION 105500
-- BOOST_INCLUDE_DIR /tmp/boost/boost_1_55_0
..
-- Build files have been written to: /home/yoku0825/mysql-5.7.5-m15

おお、通った。

というわけで誰かmysql-buildにパッチ投げてください。。(Issue上げただけで力尽きた)


【2014/09/28 16:46 PDT】
結局書きました。
https://github.com/kamipo/mysql-build/pull/13

0 件のコメント :

コメントを投稿