pinba_engine icon indicating copy to clipboard operation
pinba_engine copied to clipboard

Can't compile pinba_engine. FreeBSD 9.1, Mysql 5.5.40.

Open dmitrypisanko opened this issue 10 years ago • 8 comments

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I/root/mysql-5.5.40/sql -I/root/mysql-5.5.40/include -I/root/mysql-5.5.40/regex -I/root/mysql-5.5.40 -g -O2 -fno-exceptions -fno-rtti -I/usr/local/include -I/usr/local/include -DMYSQL_DYNAMIC_PLUGIN -DNDEBUG -DJUDYERROR_NOTEST -MT main.lo -MD -MP -MF .deps/main.Tpo -c main.cc -fPIC -DPIC -o .libs/main.o main.cc: In function 'int pinba_collector_init(pinba_daemon_settings)': main.cc:141: error: 'cpu_set_t' was not declared in this scope main.cc:141: error: expected ;' before 'mask' main.cc:143: error: 'mask' was not declared in this scope main.cc:143: error: 'CPU_ZERO' was not declared in this scope main.cc:144: error: 'CPU_SET' was not declared in this scope main.cc:145: error: 'pthread_setaffinity_np' was not declared in this scope main.cc:179: error: 'cpu_set_t' was not declared in this scope main.cc:179: error: expected;' before 'mask' main.cc:181: error: 'mask' was not declared in this scope main.cc:181: error: 'CPU_ZERO' was not declared in this scope main.cc:182: error: 'CPU_SET' was not declared in this scope main.cc:183: error: 'pthread_setaffinity_np' was not declared in this scope *** [main.lo] Error code 1

Stop in /root/pinba_engine-1.1.0/src. *** [all] Error code 1

Stop in /root/pinba_engine-1.1.0/src. *** [all-recursive] Error code 1

Stop in /root/pinba_engine-1.1.0.

dmitrypisanko avatar Sep 22 '15 10:09 dmitrypisanko

If install from ports

PORTNAME= pinba_engine PORTVERSION= 2011.08.18 PORTREVISION= 4 CATEGORIES= devel

All good, but can't install plugin in mysql

mysql> INSTALL PLUGIN pinba SONAME 'libpinba_engine.so'; ERROR 1126 (HY000): Can't open shared library 'libpinba_engine.so' (errno: 0 API version for STORAGE ENGINE plugin is too different)

dmitrypisanko avatar Sep 22 '15 10:09 dmitrypisanko

I don't have a FreeBSD machine at hand and I have no idea what's the equivalent for cpu_set_t in BSD. Regrading the other problem - unfortunately, almost in any case you have to build Pinba yourself. It'll work only if it's been built with exactly the same options and sources used to build the mysqld.

tony2001 avatar Sep 22 '15 14:09 tony2001

Я так понимаю по русски тоже можно :)

Всё делал по мануалу, взял сорцы в них cmake && cd include && make. Autobuild.sh кстати не запускался, пришлось слегка допилить файл build.mk

//LIBTOOLIZE ?= $(shell uname -s | grep Darwin >/dev/null && echo 'glibtoolize' || echo 'libtoolize') LIBTOOLIZE ?= 'libtoolize'

Старая версия из портов собирается, но не работает, новая не собирается..

Решил попробовать собрать все на другой машине с centOS, все делал по этому манулау http://mymemory.dp.ua/2013/08/ustanovka-pinba-engine-na-centos-6/

Тут уже ошибка иная mysql> INSTALL PLUGIN pinba SONAME 'libpinba_engine.so'; ERROR 1123 (HY000): Can't initialize function 'pinba'; Plugin initialization function failed

dmitrypisanko avatar Sep 22 '15 15:09 dmitrypisanko

А что не так с build.mk?

Тут уже ошибка иная

Вы и текущий mysqld, и Pinba собирали из одних и тех же исходников? Из текста непонятно.

tony2001 avatar Sep 22 '15 15:09 tony2001

Про build.mk я просто для информации написал. На freebsd версия такая, же но ставил из портов, попробую переставить. На centOS исходники одинаковы

dmitrypisanko avatar Sep 22 '15 17:09 dmitrypisanko

Про build.mk я просто для информации написал.

так что с ним было не так-то, что его надо было править? там же просто проверяется, что система не MacOS и используется libtoolize, а если MacOS - glibtoolize.

tony2001 avatar Sep 23 '15 09:09 tony2001

LIBTOOLIZE ?= $(shell uname -s | grep Darwin >/dev/null && echo 'glibtoolize' || echo 'libtoolize')

Переменная LIBTOOLIZE была пустой, пришлось захардкодить

dmitrypisanko avatar Sep 23 '15 11:09 dmitrypisanko

В общем из портов поставить получилось, правда там старая версия

PORTNAME= pinba_engine PORTVERSION= 2011.08.18

Вопрос, а планируется ли обновить порт до версии 1.1.0? Спасибо

dmitrypisanko avatar Sep 30 '15 12:09 dmitrypisanko