2014年8月7日木曜日

Percona ServerでMroongaの./configureに失敗したら

Percona Server 5.6.19にMroonga(故あってGroonga 3.1.0のnightly + Mroonga 3.10だけど)を載せようとしたら、configureスクリプトが転けた。


$ ./configure CFLAGS=-O3 CXXFLAGS=-O3 PKG_CONFIG_PATH=/usr/groonga/3.1.0.20131209/lib/pkgconfig --with-mysql-source=/usr/local/src/percona-server-5.6.19-67.0 --with-mysql-config=/usr/local/percona5619/bin/mysql_config
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
..
checking mysql source... yes
checking mysql_config... /usr/local/percona5619/bin/mysql_config
checking for libmysqlservices.a directory... configure: error: libmysqlservices.a is not found in </usr/local/percona5619/lib/mysql/> and </usr/local/percona5619/lib/mysql/mysql/>

libmysqlservices.aが見つからないんだって。


$ ll /usr/local/percona5619/lib/libmysqlservices.a
-rw-r--r-- 1 root root 15662  7月  1 18:20 /usr/local/percona5619/lib/libmysqlservices.a

あるんだけどなぁ…ん? 俺なんかこれ知ってる気がしてきた。
ああ、これかな。。

日々の覚書: Percona Serverのmysql_configが変?

Bug #1099681 “mysql_config returns wrong path” : Bugs : Percona Server


$ /usr/local/percona5619/bin/mysql_config --variable=pkglibdir
/usr/local/percona5619/lib/mysql

$ ll /usr/local/percona5619/lib/mysql
合計 1372
lrwxrwxrwx 1 root root      16  8月  7 12:10 libjemalloc.so -> libjemalloc.so.1
-rwxr-xr-x 1 root root 1395722  7月  1 18:26 libjemalloc.so.1
drwxr-xr-x 2 root root    4096  8月  7 16:32 plugin

OK大正解。
Mroongaのconfigureスクリプトはlibmysqlservices.aのありかをmysql_config --variable=pkglibdirから探すから…ってこれ、こんなことをだいぶ前にgroonga-devでも言ったような気がする。

Feature #1730: [groonga-dev,01335] mysql 5.6.11でmroonga 3.03をビルドするとエラー - Mroonga - Groonga issues!


…なるほどなるほど。
というわけでconfigureスクリプトをほげって何とかした。


$ diff -c configure.orig configure
diff -c configure.orig configure
*** configure.orig      Thu Aug  7 17:18:35 2014
--- configure   Thu Aug  7 17:18:45 2014
***************
*** 18363,18369 ****
      *)
          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmysqlservices.a directory" >&5
  $as_echo_n "checking for libmysqlservices.a directory... " >&6; }
!         pkglibdir="$($ac_mysql_config --variable=pkglibdir)"
          mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices"
          if test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then
            mysql_services_lib_dir="${mysql_build_libservices_dir}"
--- 18363,18369 ----
      *)
          { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libmysqlservices.a directory" >&5
  $as_echo_n "checking for libmysqlservices.a directory... " >&6; }
!         pkglibdir="/usr/local/percona5619/lib"
          mysql_build_libservices_dir="${MYSQL_BUILD_DIR}/libservices"
          if test -f "${mysql_build_libservices_dir}/libmysqlservices.a"; then
            mysql_services_lib_dir="${mysql_build_libservices_dir}"

早く直らないかなこれってか忘れられてんじゃないかな。。

0 件のコメント :

コメントを投稿