Serious setup problems with lib_mysqludf_xql

117 views
Skip to first unread message

Peter

unread,
May 19, 2008, 6:07:59 AM5/19/08
to The UDF Repository for MySQL
Hello everybody,

I intend to use lib_mysqludf_xql on a Suse Linux 10.2 machiene with
Apache2 and MySQL 5.0.26. I already downloaded the
lib_mysqludf_xql-0.9.6 from http://mysqludf.com/lib_mysqludf_xql/,
libxml2 is already installed. I followed the shortly described Build /
Install steps and run into a lot off errors while trying to make.


some of the errors:

lib_mysqludf_xql.cc:102: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:103: error: variable or field ‘xql_comment_deinit’
declared void
lib_mysqludf_xql.cc:103: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:103: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:104: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:104: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:104: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:104: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:104: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:104: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:104: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:104: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:104: error: initializer expression list treated as
compound expression
lib_mysqludf_xql.cc:106: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:107: error: variable or field ‘xql_cdata_deinit’
declared void
lib_mysqludf_xql.cc:107: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:107: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:108: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:108: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:108: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:108: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:108: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:108: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:108: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:108: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:108: error: initializer expression list treated as
compound expression
lib_mysqludf_xql.cc:110: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:111: error: variable or field ‘xql_encode_deinit’
declared void
lib_mysqludf_xql.cc:111: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:111: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:112: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:112: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:112: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:112: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:112: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:112: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:112: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:112: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:112: error: initializer expression list treated as
compound expression
lib_mysqludf_xql.cc:324: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:329: error: variable or field
‘lib_mysqludf_xql_info_deinit’ declared void
lib_mysqludf_xql.cc:329: error: redefinition of ‘int
lib_mysqludf_xql_info_deinit’
lib_mysqludf_xql.cc:62: error: ‘int lib_mysqludf_xql_info_deinit’
previously defined here
lib_mysqludf_xql.cc:329: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:329: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:333: error: redefinition of ‘char*
lib_mysqludf_xql_info’
lib_mysqludf_xql.cc:63: error: ‘char* lib_mysqludf_xql_info’
previously defined here
lib_mysqludf_xql.cc:333: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:333: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:333: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:333: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:333: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:333: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:333: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:333: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:345: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:356: error: variable or field ‘xql_test_deinit’
declared void
lib_mysqludf_xql.cc:356: error: redefinition of ‘int xql_test_deinit’
lib_mysqludf_xql.cc:66: error: ‘int xql_test_deinit’ previously
defined here
lib_mysqludf_xql.cc:356: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:356: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:361: error: redefinition of ‘char* xql_test’
lib_mysqludf_xql.cc:67: error: ‘char* xql_test’ previously defined
here
lib_mysqludf_xql.cc:361: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:361: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:361: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:361: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:361: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:361: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:361: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:361: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:385: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:403: error: variable or field
‘xql_textdecl_deinit’ declared void
lib_mysqludf_xql.cc:403: error: redefinition of ‘int
xql_textdecl_deinit’
lib_mysqludf_xql.cc:70: error: ‘int xql_textdecl_deinit’ previously
defined here
lib_mysqludf_xql.cc:403: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:403: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:408: error: redefinition of ‘char* xql_textdecl’
lib_mysqludf_xql.cc:71: error: ‘char* xql_textdecl’ previously defined
here
lib_mysqludf_xql.cc:408: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:408: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:408: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:408: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:408: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:408: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:408: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:408: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:442: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:457: error: variable or field ‘xql_pi_deinit’
declared void
lib_mysqludf_xql.cc:457: error: redefinition of ‘int xql_pi_deinit’
lib_mysqludf_xql.cc:74: error: ‘int xql_pi_deinit’ previously defined
here
lib_mysqludf_xql.cc:457: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:457: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:462: error: redefinition of ‘char* xql_pi’
lib_mysqludf_xql.cc:75: error: ‘char* xql_pi’ previously defined here
lib_mysqludf_xql.cc:462: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:462: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:462: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:462: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:462: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:462: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:462: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:462: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:492: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:511: error: variable or field ‘xql_dtd_deinit’
declared void
lib_mysqludf_xql.cc:511: error: redefinition of ‘int xql_dtd_deinit’
lib_mysqludf_xql.cc:78: error: ‘int xql_dtd_deinit’ previously defined
here
lib_mysqludf_xql.cc:511: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:511: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:516: error: redefinition of ‘char* xql_dtd’
lib_mysqludf_xql.cc:79: error: ‘char* xql_dtd’ previously defined here
lib_mysqludf_xql.cc:516: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:516: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:516: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:516: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:516: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:516: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:516: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:516: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:550: error: ‘my_bool’ does not name a type
lib_mysqludf_xql.cc:586: error: variable or field ‘xql_element_deinit’
declared void
lib_mysqludf_xql.cc:586: error: redefinition of ‘int
xql_element_deinit’
lib_mysqludf_xql.cc:83: error: ‘int xql_element_deinit’ previously
defined here
lib_mysqludf_xql.cc:586: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:586: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:591: error: redefinition of ‘char* xql_element’
lib_mysqludf_xql.cc:84: error: ‘char* xql_element’ previously defined
here
lib_mysqludf_xql.cc:591: error: ‘UDF_INIT’ was not declared in this
scope
lib_mysqludf_xql.cc:591: error: ‘initid’ was not declared in this
scope
lib_mysqludf_xql.cc:591: error: ‘UDF_ARGS’ was not declared in this
scope
lib_mysqludf_xql.cc:591: error: ‘args’ was not declared in this scope
lib_mysqludf_xql.cc:591: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:591: error: expected primary-expression before
‘unsigned’
lib_mysqludf_xql.cc:591: error: expected primary-expression before
‘char’
lib_mysqludf_xql.cc:591: error: expected primary-expression before
‘char’

Hopefully anyone could help me out.

Peter

Arnold Daniels

unread,
May 19, 2008, 6:55:16 AM5/19/08
to Peter, The UDF Repository for MySQL
Hi Peter,

It seems like the header files aren't found. The configure script looks
for mysql_config to ask where they are and assumes it's telling the truth.

If you run `mysql_config`, you see something like:

Usage: /usr/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/include/mysql -DBIG_JOINS=1 -fPIC]
--include [-I/usr/include/mysql]
--libs [-Wl,-Bsymbolic-functions -L/usr/lib/mysql
-lmysqlclient]
--libs_r [-Wl,-Bsymbolic-functions -L/usr/lib/mysql
-lmysqlclient_r]
--socket [/var/run/mysqld/mysqld.sock]
--port [3306]
--version [5.0.51a]
--libmysqld-libs [-Wl,-Bsymbolic-functions -L/usr/lib/mysql
-lmysqld -lwrap -lrt]

Make sure that your header files are locate at the include path.

Best regards,
Arnold

Peter

unread,
May 19, 2008, 8:55:58 AM5/19/08
to The UDF Repository for MySQL
At first i'd like to thank you for your quick answer.

Well i've moved a little bit forward during the process ^^


I'd like to mention that there is a little error in the configure:
#in Line 19508:
MYSQLBIN = `dirname "$MYSQL"` -> # dosen't work because of the space
character

#this sould be:
MYSQLBIN=`dirname "$MYSQL"`


Right now I'm trying to register the functions and ended up with this:

CREATE FUNCTION lib_mysqludf_xql_info RETURNS STRING SONAME
'lib_mysqludf_xql.so';

#1126 - Can't open shared library 'lib_mysqludf_xql.so' (errno: 0
feature disabled)


Greetings Peter
> > lib_mysqludf_xql-0.9.6 fromhttp://mysqludf.com/lib_mysqludf_xql/,
> ...
>
> Erfahren Sie mehr »

Roland Bouman

unread,
May 19, 2008, 9:45:48 AM5/19/08
to The UDF Repository for MySQL
Hi all,
>
> Right now I'm trying to register the functions and ended up with this:
>
> CREATE FUNCTION lib_mysqludf_xql_info RETURNS STRING SONAME
> 'lib_mysqludf_xql.so';
>
> #1126 - Can't open shared library 'lib_mysqludf_xql.so' (errno: 0
> feature disabled)

I have seen this problem before. Could it be that your server was
statically linked?


kind regards,

Roland

Peter

unread,
May 19, 2008, 10:48:35 AM5/19/08
to The UDF Repository for MySQL
Actually I'm not sure about this, any way to figure out?

Greetings
Peter

Arnold Daniels

unread,
May 19, 2008, 1:15:50 PM5/19/08
to Peter, The UDF Repository for MySQL
Hi again,

Thanks for the bug report. I'll fix it in the next release and also add a check to make sure the files are actually there.

This problem is caused by the fact that you build mysql server without configure option '--enable-shared'. You need to rebuild it, for this to work (sorry).

 - Arnold

Peter

unread,
May 23, 2008, 11:09:37 AM5/23/08
to The UDF Repository for MySQL
Finally it's working!

After some additional trouble with my SUSE installtaion (actually it
looks like "--enable-shared" isn't enabled by default in Suse Linux
10.2) mysqludf_xql is now running just fine.

A did a little test with a DB including 14.500 entries it seems like
that the package is about 30% faster that generic XML encoding over
PEAR.

Peter

unread,
May 23, 2008, 11:09:46 AM5/23/08
to The UDF Repository for MySQL
Finally it's working!

After some additional trouble with my SUSE installtaion (actually it
looks like "--enable-shared" isn't enabled by default in Suse Linux
10.2) mysqludf_xql is now running just fine.

A did a little test with a DB including 14.500 entries it seems like
that the package is about 30% faster that generic XML encoding over
PEAR.

On 19 Mai, 19:15, Arnold Daniels <i...@adaniels.nl> wrote:

Peter

unread,
May 23, 2008, 11:09:58 AM5/23/08
to The UDF Repository for MySQL
Finally it's working!

After some additional trouble with my SUSE installtaion (actually it
looks like "--enable-shared" isn't enabled by default in Suse Linux
10.2) mysqludf_xql is now running just fine.

A did a little test with a DB including 14.500 entries it seems like
that the package is about 30% faster that generic XML encoding over
PEAR.

On 19 Mai, 19:15, Arnold Daniels <i...@adaniels.nl> wrote:

Arnold Daniels

unread,
May 23, 2008, 12:15:48 PM5/23/08
to Peter, MySQL UDF Repository
Great!

Only 30%? On average I have 40% to 50% speed gain compared with my own implementation, which is already much faster than using XML_Query2XML which is an abstraction layer. I would expect it to be 2 times as fast as using XML_Query2XML.

Can you send me your test case?

Thanks,
Arnold
Reply all
Reply to author
Forward
0 new messages