CentOS 7.2にMySQLをソースインストールしようとしたら、cmakeでWarningが出ました。
MySQL 5.7.10のソースファイルを解凍して、
$ tar xvzf mysql-5.7.10.tar.gz cd mysql-5.7.10
cmakeすると、
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci -DDOWNLOAD_BOOST=ON -DWITH_BOOST=/tmp/boost
ワーニングが出ました。
~省略~ CMake Warning: Manually-specified variables were not used by the project: DOWNLOAD_BOOST
和訳すると、
「そのプロジェクトでは、手動で明記した変数DOWNLOAD_BOOSTは使われませんでした」
となります。
何を言ってるんでしょうね。
MySQL 5.7のマニュアルを読むと、DOWNLOAD_BOOSTオプションの意味は「Whether to download the Boost library. The default is OFF. This option was added in MySQL 5.7.5.」とあります。
和訳すると、
「ブーストライブラリをダウンロードするか否か。このオプションはMySQL 5.7.5で追加されました」となります。
マニュアルを読むと、DOWNLOAD_BOOSTオプションは、DWITH_BOOSTオプションと連動しているようです。
(対策)
-DWITH_BOOSTで指定した/tmp/boostディレクトリを削除しました。
$ rm -rf /tmp/boost
その後、再びcmakeをしてみると、次のメッセージが表示されたところで止まっています。
~省略~ -- cd /tmp/boost; tar xfz /tmp/boost/boost_1_59_0.tar.gz ~省略~
しばらくすると処理が進み、今度はワーニングが出ることなく終了しました。
どうやら、cmakeの途中で割り込みで中断してしまったため、/tmp/boostディレクトリ以下にファイルが残ってしまって、DOWNLOAD_BOOSTオプション不要と判断されてしまったようです。
ということは、cmakeあるいは、make & make installが完了すれば、/tmp/boostディレクトリの中身は消去されるはず。
しかし、実際に中身を見てみると、boost_1_59_0.tar.gzとそれを解凍したと思われるboost_1_59_0ディレクトリが残っていました。
念のため、UbuntuとVine Linuxも調べましたがこれらのファイルは残っています。
ところが、UbuntuとVine Linuxで/tmp/boostディレクトリ配下のファイルをそのままにしてcmakeしたところ、DOWNLOAD_BOOSTのワーニングは出ませんでした。
それならばと思い、CentOS 7.2でもcmakeしてみましたが、ワーニング・・・
CMake Warning: Manually-specified variables were not used by the project: DOWNLOAD_BOOST
OSが違うと何かが違うんだろうなあ。
こんなところでハマってしまうと、先に進めないので、CentOS 7.2でcmakeをやり直すときは、-DWITH_BOOSTで指定したディレクトリを丸ごと削除してから実行することにします。
今のところ、MySQLを何度もコンパイルすることなんてないだろうし、この問題はそんなに重要ではないだろう。