Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dmitrypisanko opened this issue Sep 22, 2015 · 8 comments
Open

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

dmitrypisanko opened this issue Sep 22, 2015 · 8 comments

Comments

@dmitrypisanko
Copy link

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
Copy link
Author

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)

@tony2001
Copy link
Owner

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.

@dmitrypisanko
Copy link
Author

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

Всё делал по мануалу, взял сорцы в них 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

@tony2001
Copy link
Owner

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

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

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

@dmitrypisanko
Copy link
Author

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

@tony2001
Copy link
Owner

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

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

@dmitrypisanko
Copy link
Author

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

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

@dmitrypisanko
Copy link
Author

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

PORTNAME= pinba_engine
PORTVERSION= 2011.08.18

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants