2013年1月15日火曜日

Percona Serverのmysql_configが変?

XtraDB Cluster 5.5.28だけを積んだマシンでtpcc-mysqlをコンパイルしようとしたら、
-lmysqlclient_rが見つからないと何度も怒られた。




$ bin/mysql_config
Usage: bin/mysql_config [OPTIONS]
Options:
        --cflags         [-I/xtra/include -fPIC -g -static-libgcc -fno-omit-frame-pointer -DPERCONA_INNODB_VERSION=rel29.1    -DWITH_WSREP -DWSREP_PROC_INFO -DMYSQL_MAX_VARIABLE_VALUE_LEN=2048 -DWITH_INNODB_DISALLOW_WRITES -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1]
        --include        [-I/xtra/include]
        --libs           [-L/xtra/lib/mysql -lmysqlclient -lpthread -lm -lrt -ldl]
        --libs_r         [-L/xtra/lib/mysql -lmysqlclient_r -lpthread -lm -lrt -ldl]
        --plugindir      [/xtra/lib/mysql/plugin]
        --socket         [/tmp/mysql.sock]
        --port           [0]
        --version        [5.5.28]
        --libmysqld-libs [-L/xtra/lib/mysql -lmysqld]
        --variable=VAR   VAR is one of:
                pkgincludedir [/xtra/include]
                pkglibdir     [/xtra/lib/mysql]
                plugindir     [/xtra/lib/mysql/plugin]



$ ls -l lib lib/mysql
lib:
合計 50544
-rwxr-xr-x 1 xtra xtra 26612459 11月 17 05:38 2012 libgalera_smm.so
-rw-r--r-- 1 xtra xtra 17309456 11月 17 05:39 2012 libmysqlclient.a
lrwxrwxrwx 1 xtra xtra       20  1月 11 13:43 2013 libmysqlclient.so -> libmysqlclient.so.18
lrwxrwxrwx 1 xtra xtra       24  1月 11 13:43 2013 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0
-rwxr-xr-x 1 xtra xtra  7811970 11月 17 05:39 2012 libmysqlclient.so.18.0.0
lrwxrwxrwx 1 xtra xtra       16  1月 11 13:43 2013 libmysqlclient_r.a -> libmysqlclient.a
lrwxrwxrwx 1 xtra xtra       17  1月 11 13:43 2013 libmysqlclient_r.so -> libmysqlclient.so
lrwxrwxrwx 1 xtra xtra       17  1月 11 13:43 2013 libmysqlclient_r.so.18 -> libmysqlclient.so
lrwxrwxrwx 1 xtra xtra       17  1月 11 13:43 2013 libmysqlclient_r.so.18.0.0 -> libmysqlclient.so
-rw-r--r-- 1 xtra xtra    10288 11月 17 05:38 2012 libmysqlservices.a
drwxr-xr-x 3 xtra xtra     4096 11月 17 05:41 2012 mysql

lib/mysql:
合計 4
drwxr-xr-x 3 xtra xtra 4096 11月 17 05:41 2012 plugin


なんかどうも、mysql_config --libsと--libs_rは/xtra/libを返さないといけない気がするんだけども。
lib/mysqlの中何も入ってナイヨ。。
(同じ5.5.28の本家MySQLとMariaDBのmysql_configは$basedir/libを返してくれる)

バグかなー。。


2 件のコメント :

  1. バグでした。
    Confirmされてます。

    返信削除
  2. tpcc-mysqlに限った話であれば、src/Makefileの`mysql_config ..`の部分を
    (lib/mysqlをlibに直して)ベタ文字列に書き換えればコンパイルは通るのでした。
    他もconfigureスクリプトなりMakefile書き直せば動くんだろうけど、コンパイルするものが特に無い。。

    返信削除