OS: OpenSuse 13.1
mariadb-5.5.33
На оф. сайте mariadb:
Beginning with MariaDB 5.3.0, the HandlerSocket plugin is included in both source and binary distributions.
Но в сюзи после установки его нет
Код: Выделить всё
ls
$ ls /usr/lib64/mysql/plugin/ |grep hand
$
А вот, например на gentoo c mariadb 5.5.40-r1 есть.
Код: Выделить всё
$ ls /usr/lib/mysql/plugin/ |grep hand
handlersocket.so
Там делаем как написано на оф. сайте
Код: Выделить всё
INSTALL PLUGIN handlersocket SONAME 'handlersocket.so';
Задаем настройки в конфиге и все работает.
Хотелось бы также и на сюзе. Бо компиляция самого плагина согласно докам на handlersocket заканчивает черт знает чем:
Код: Выделить всё
./autogen.sh
./configure --with-mysql-source=../mariadb-5.5.33
make
<много лишнего теста>
from mysql_incl.hpp:26,
from database.cpp:16:
/home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/handler.h:2139:15: error: 'virtual int handler::index_next(uchar*)' is protected
virtual int index_next(uchar * buf)
^
database.cpp:846:38: error: within this context
r = hnd->index_next(table->record[0]);
^
In file included from /home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/datadict.h:18:0,
from /home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/table.h:23,
from /home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/field.h:29,
from /home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/unireg.h:170,
from /home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/sql_class.h:30,
from mysql_incl.hpp:26,
from database.cpp:16:
/home/sv/tmp/hs-5.5.33/mariadb-5.5.33/sql/handler.h:2147:15: error: 'virtual int handler::index_next_same(uchar*, const uchar*, uint)' is protected
virtual int index_next_same(uchar *buf, const uchar *key, uint keylen);
^
database.cpp:853:63: error: within this context
r = hnd->index_next_same(table->record[0], key_buf, kplen_sum);
^
make[2]: *** [handlersocket_la-database.lo] Error 1
make[2]: Leaving directory `/home/sv/tmp/hs-5.5.33/HandlerSocket-Plugin-for-MySQL/handlersocket'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/sv/tmp/hs-5.5.33/HandlerSocket-Plugin-for-MySQL'
make: *** [all] Error 2
Если посмотреть флаги компиляции mariadb на разных ОС
suse
Код: Выделить всё
Configured with: ../configure
--prefix=/usr
--infodir=/usr/share/info
--mandir=/usr/share/man
--libdir=/usr/lib64
--libexecdir=/usr/lib64
--enable-languages=c,c++,objc,fortran,obj-c++,java,ada
--enable-checking=release
--with-gxx-include-dir=/usr/include/c++/4.8
--enable-ssp
--disable-libssp
--disable-plugin
--with-bugurl=http://bugs.opensuse.org/
--with-pkgversion='SUSE Linux'
--disable-libgcj
--disable-libmudflap
--with-slibdir=/lib64
--with-system-zlib
--enable-__cxa_atexit
--enable-libstdcxx-allocator=new
--disable-libstdcxx-pch
--enable-version-specific-runtime-libs
--enable-linker-build-id
--program-suffix=-4.8
--enable-linux-futex
--without-system-libunwind
--with-arch-32=i586
--with-tune=generic
--build=x86_64-suse-linux
gentoo
Код: Выделить всё
Configured with:
/var/tmp/portage/sys-devel/gcc-4.8.3/work/gcc-4.8.3/configure
--host=i686-pc-linux-gnu
--build=i686-pc-linux-gnu
--prefix=/usr
--bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.8.3
--includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.3/include
--datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.3
--mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.3/man
--infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.3/info
--with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.3/include/g++-v4
--with-python-dir=/share/gcc-data/i686-pc-linux-gnu/4.8.3/python
--enable-languages=c,c++,fortran
--enable-obsolete
--enable-secureplt
--disable-werror
--with-system-zlib
--enable-nls
--without-included-gettext
--enable-checking=release
--with-bugurl=https://bugs.gentoo.org/
--with-pkgversion='Gentoo 4.8.3 p1.1, pie-0.5.9'
--enable-libstdcxx-time
--enable-shared
--enable-threads=posix
--enable-__cxa_atexit
--enable-clocale=gnu
--disable-multilib
--disable-altivec
--disable-fixed-point
--with-arch=i686
--enable-targets=all
--disable-libgcj
--enable-libgomp
--disable-libmudflap
--disable-libssp
--enable-lto
--without-cloog
--enable-libsanitizer
то можно увидеть, что у сюзи есть флаг --disable-plugin.
Возможно стоит пересобрать пакет без этого флага? Или может быть у кого-то получилось собрать handlersocket для mariadb?