[groonga-dev,00671] ディレクトリカスタマイズでコンパイルするとINSTALL PLUGINでエラー

Back to archive index

rymysqlさん ry10m****@gmail*****
2012年 1月 16日 (月) 14:57:02 JST


初めまして、三間といいます。

mroongaコンパイルを、ディレクトリをカスタマイズして導入すると、
INSTALL PLUGINで以下のように失敗します。

mroonga+mysqldを都合上rpmで入れたくありません。
回避方法をどなたかご存知でしょうか?
ご教授ください。

root @ localhost:(none)>INSTALL PLUGIN groonga SONAME 'ha_groonga.so';
ERROR 1126 (HY000): Can't open shared library
'/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib/plugin/ha_groonga.so'
(errno: 0 /usr/local/groonga129/lib/libgroonga.so.0: undefined symbol:
_ZTVN10__cxxabiv120__si_class_type_infoE)

前提
groonga(1.2.9)コンパイル
mysql(5.5.20)バイナリ+mysql(5.5.20)ソース
mroonga(1.11)コンパイル
mecabなし

●mysql5.5.20
バイナリ配置 /data-io/src/mysql-5.5.20-linux2.6-x86_64
データ配置 /data-io/mysqls/sandboxes/msb_5_5_20/
ソース /data-io/src/mysql-5.5.20

         # cd /data-io/src/mysql-5.5.20-linux2.6-x86_64
# ./bin/mysql_config
Usage: ./bin/mysql_config [OPTIONS]
Options:
        --cflags
[-I/data-io/src/mysql-5.5.20-linux2.6-x86_64/include  -fPIC -g
-static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing
-DMY_PTHREAD_FASTMUTEX=1]
        --include        [-I/data-io/src/mysql-5.5.20-linux2.6-x86_64/include]
        --libs
[-L/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib -lmysqlclient
-lpthread -lm -lrt -ldl]
        --libs_r
[-L/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib -lmysqlclient_r
-lpthread -lm -lrt -ldl]
        --plugindir      [/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib/plugin]
        --socket         [/tmp/mysql.sock]
        --port           [0]
        --version        [5.5.20]
        --libmysqld-libs
[-L/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib -lmysqld -lpthread
-lm -lrt -lcrypt -ldl -laio]
        --variable=VAR   VAR is one of:
                pkgincludedir
[/data-io/src/mysql-5.5.20-linux2.6-x86_64/include]
                pkglibdir     [/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib]
                plugindir
[/data-io/src/mysql-5.5.20-linux2.6-x86_64/lib/plugin]

●groonga
DL http://packages.groonga.org/source/groonga/groonga-1.2.9.tar.gz

export CC=gcc
export CFLAGS="-O3 -m64 -mtune=nocona"
export CXX=gcc
export CXXFLAGS="-O3 -m64 -mtune=nocona"
./configure \
--prefix=/usr/local/groonga129

make;make install

結果
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/groonga129/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/groonga129/lib/groonga/plugins/suggest

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

# ldd /usr/local/groonga129/lib/libgroonga.so
        linux-vdso.so.1 =>  (0x00007ffff97fd000)
        libm.so.6 => /lib64/libm.so.6 (0x00002acf4ede7000)
        librt.so.1 => /lib64/librt.so.1 (0x00002acf4f06a000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002acf4f274000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00002acf4f48f000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002acf4f6a7000)
        libc.so.6 => /lib64/libc.so.6 (0x00002acf4f8ac000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002acf4fc04000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003250200000)

●mroonga
DL https://github.com/downloads/mroonga/mroonga/mroonga-1.11.tar.gz

export CC=gcc
export CFLAGS="-O3 -m64 -mtune=nocona"
export CXX=gcc
export CXXFLAGS="-O3 -m64 -mtune=nocona"
export GROONGA_CFLAGS="-I/usr/local/groonga129/include/groonga"
export GROONGA_LIBS="-L/usr/local/groonga129/lib -lgroonga"
./configure \
  --prefix=/data-io/src/mysql-5.5.20-linux2.6-x86_64 \
  --with-mysql-source=/data-io/src/mysql-5.5.20 \
  --with-mysql-config=/data-io/src/mysql-5.5.20-linux2.6-x86_64/bin/mysql_config

make:make install

結果
----------------------------------------------------------------------
Libraries have been installed in:
   /data-io/src/mysql-5.5.20-linux2.6-x86_64/lib/plugin
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------


# ldd /data-io/src/mysql-5.5.20-linux2.6-x86_64/lib/plugin/ha_groonga.so
        linux-vdso.so.1 =>  (0x00007fff7addf000)
        libgroonga.so.0 => /usr/local/groonga129/lib/libgroonga.so.0
(0x00002b4e68b09000)
        libc.so.6 => /lib64/libc.so.6 (0x00002b4e68f33000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002b4e6928b000)
        libm.so.6 => /lib64/libm.so.6 (0x00002b4e69499000)
        librt.so.1 => /lib64/librt.so.1 (0x00002b4e6971d000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b4e69926000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00002b4e69b41000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00002b4e69d5a000)
        /lib64/ld-linux-x86-64.so.2 (0x0000003250200000)




groonga-dev メーリングリストの案内
Back to archive index