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

Compilation problem #71

Open
lenineto opened this issue Apr 15, 2015 · 4 comments
Open

Compilation problem #71

lenineto opened this issue Apr 15, 2015 · 4 comments
Assignees

Comments

@lenineto
Copy link

Hi Rene,

I tried to compile proxysql after we talked and I did get past the library dependencies, but now I'm facing a new problem, with mysql_protocol.h

Please see the output from make below:

gcc -c -o obj/mysql_session.o mysql_session.c -I../include -I../sqlite3 -I../../mariadb-native-client/include -I../../libdaemon-0.14 -I../../jemalloc-3.6.0/include -I../../glib-2.40.0 -I../../glib-2.40.0/glib -O0 -ggdb -DDEBUG -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/mysql -Wall
In file included from ../include/proxysql.h:45:0,
from mysql_session.c:1:
../include/mysql_protocol.h:23:55: warning: ‘struct rand_struct’ declared inside parameter list [enabled by default]
void proxy_create_random_string(char , uint , struct rand_struct *);
^
../include/mysql_protocol.h:23:55: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
../include/mysql_protocol.h:24:28: warning: ‘struct rand_struct’ declared inside parameter list [enabled by default]
double proxy_my_rnd(struct rand_struct *);
^
mysql_session.c: In function ‘process_server_pkts’:
mysql_session.c:310:9: error: ‘MYSQL_COM_QUIT’ undeclared (first use in this function)
case MYSQL_COM_QUIT:
^
mysql_session.c:310:9: note: each undeclared identifier is reported only once for each function it appears in
mysql_session.c:313:9: error: ‘MYSQL_COM_INIT_DB’ undeclared (first use in this function)
case MYSQL_COM_INIT_DB:
^
mysql_session.c:316:9: error: ‘MYSQL_COM_STATISTICS’ undeclared (first use in this function)
case MYSQL_COM_STATISTICS:
^
mysql_session.c:319:9: error: ‘MYSQL_COM_QUERY’ undeclared (first use in this function)
case MYSQL_COM_QUERY:
^
mysql_session.c: In function ‘client_COM_QUERY’:
mysql_session.c:631:24: error: ‘MYSQL_COM_END’ undeclared (first use in this function)
sess->client_command=MYSQL_COM_END;
^
mysql_session.c:656:27: error: ‘MYSQL_COM_QUERY’ undeclared (first use in this function)
(sess->client_command==MYSQL_COM_QUERY) &&
^
mysql_session.c: In function ‘process_client_pkts’:
mysql_session.c:698:10: error: ‘MYSQL_COM_INIT_DB’ undeclared (first use in this function)
case MYSQL_COM_INIT_DB:
^
mysql_session.c:699:10: error: ‘MYSQL_COM_QUERY’ undeclared (first use in this function)
case MYSQL_COM_QUERY:
^
mysql_session.c:700:10: error: ‘MYSQL_COM_STATISTICS’ undeclared (first use in this function)
case MYSQL_COM_STATISTICS:
^
mysql_session.c:712:9: error: ‘MYSQL_COM_QUIT’ undeclared (first use in this function)
case MYSQL_COM_QUIT:
^
mysql_session.c:732:9: error: ‘MYSQL_COM_CHANGE_USER’ undeclared (first use in this function)
case MYSQL_COM_CHANGE_USER:
^
mysql_session.c:764:9: error: ‘MYSQL_COM_STMT_PREPARE’ undeclared (first use in this function)
case MYSQL_COM_STMT_PREPARE:
^
mysql_session.c:765:9: error: ‘MYSQL_COM_STMT_EXECUTE’ undeclared (first use in this function)
case MYSQL_COM_STMT_EXECUTE:
^
mysql_session.c:766:9: error: ‘MYSQL_COM_STMT_CLOSE’ undeclared (first use in this function)
case MYSQL_COM_STMT_CLOSE:
^
mysql_session.c:767:9: error: ‘MYSQL_COM_STMT_RESET’ undeclared (first use in this function)
case MYSQL_COM_STMT_RESET:
^
mysql_session.c:768:9: error: ‘MYSQL_COM_STMT_SEND_LONG_DATA’ undeclared (first use in this function)
case MYSQL_COM_STMT_SEND_LONG_DATA:
^
mysql_session.c: In function ‘mysql_session_new’:
mysql_session.c:1099:23: error: ‘MYSQL_COM_END’ undeclared (first use in this function)
sess->client_command=MYSQL_COM_END; // always reset this
^
make: *
* [obj/mysql_session.o] Error 1

Best regards,

@renecannao renecannao self-assigned this Apr 15, 2015
@renecannao
Copy link
Owner

Hi Leni,

I believe you skipped the download and compiling of libraries that are statically linked, as described in the README file in Installation -> Dependencies .
To be specific, it seems the MariaDB client library isn't there.
Can you please ensure that these libraries are downloaded and compiled as described?
Please let me know if it works or not. Thanks

@lenineto
Copy link
Author

Hi Rene,

You’re absolutely right, I did forget to manually compile and install the mariadb client library. After installing it, i got further but now the error is this:

make: *** No rule to make target ../../libdaemon-0.14/libdaemon/.libs/libdaemon.a', needed byproxysql'. Stop.

I do have libdaemon and libdaemon-dev but those were installed thru apt-get
Should I purge both packages and install from source?

On Apr 15, 2015, at 02:35, Rene Cannao notifications@github.com wrote:

Hi Leni,

I believe you skipped the download and compiling of libraries that are statically linked, as described in the README file in Installation -> Dependencies .
To be specific, it seems the MariaDB client library isn't there.
Can you please ensure that these libraries are downloaded and compiled as described?
Please let me know if it works or not. Thanks


Reply to this email directly or view it on GitHub https://github.com/renecannao/proxysql/issues/71#issuecomment-93240705.

@renecannao
Copy link
Owner

Great!
No, do not uninstall any package from your system.
Although, libdaemon and the other libraries that are statically linked, need to be downloaded and compiled as described in the README file (pay attention to paths), but without installing them: only compile them.

Thanks

@lenineto
Copy link
Author

It worked like a charm and I got proxysql compiled and running.

For a 1st test, I ran the interactive config tool and I added my 3 backend servers, then ran proxysql in foreground mode

here is the funny thing:

if I use a mysqlclient from console, I can login, show databases, show tables, and even select * from wp_posts; (for a site with a lot of posts). works fine.

the moment I hit the site on the browser, proxysql crashes (bit error dump) then restarts after a few seconds.

The site will, or course, throw the message “cannot connect to database”.

Btw, both on wp-config and on mysqlclient i´m connection to 127.0.0.1 on port 3306

On Apr 15, 2015, at 02:49, Rene Cannao notifications@github.com wrote:

Great!
No, do not uninstall any package from your system.
Although, libdaemon and the other libraries that are statically linked, need to be downloaded and compiled as described in the README file (pay attention to paths), but without installing them: only compile them.

Thanks


Reply to this email directly or view it on GitHub https://github.com/renecannao/proxysql/issues/71#issuecomment-93248024.

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