I have the same problem (ulogd.c... load_plugins... ulogd_MYSQL.so... undefined symbol: mysql_fetch_field).
Ubuntu source package contains a patch specific to Ubuntu about the MySQL module:
--------------------------- 8< ------------------------
--- ulogd-1.24/mysql/Makefile.in 2005-11-25 20:58:27.000000000 +0100
(...)
SHARED_LIBS=ulogd_MYSQL.so
+# fix the LDFLAGS included in MYSQL_LDFLAGS
+MYSQL_LDFLAGS:=$(shell echo $(MYSQL_LDFLAGS) | sed s/-Wl,//;s/-rpath//)
+
First remark: I don't understand how the sed can work because ";" is the separator for shell commands. It should be >sed 's/-Wl,//;s/-rpath//'<.
The command "mysql_config --libs" creates arguments for gcc, not for ld program:
--------------------------- 8< ------------------------
$ mysql_config --libs
-Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient
--------------------------- 8< ------------------------
It looks like -rdynamic causes a link problem (bad -rpath option).
I don't know ld/gcc/dlopen options very well, but I'm sure that ulogd_MYSQL.so have to linked to libmysqlclient.so.15. Example on Ubuntu Ibex :
$ ldd /usr/lib/ulogd/ulogd_MYSQL.so
linux-gate.so.1 => (0xb7f48000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7dd5000)
/lib/ld-linux.so.2 (0xb7f49000)
Example on Debian Lenny:
$ ldd /usr/lib/ulogd/ulogd_MYSQL.so
linux-gate.so.1 => (0xb7f98000)
libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb7db4000)
The bug is still open since 3 months, why? Do you need more informations? The package is compiled correctly on Debian.
I have the same problem (ulogd.c... load_plugins... ulogd_MYSQL.so... undefined symbol: mysql_fetch_field).
Ubuntu source package contains a patch specific to Ubuntu about the MySQL module: ------- ------- ------ 8< ------- ------- ------- --- 24/mysql/ Makefile. in 2005-11-25 20:58:27.000000000 +0100 LIBS=ulogd_ MYSQL.so
-------
--- ulogd-1.
(...)
SHARED_
+# fix the LDFLAGS included in MYSQL_LDFLAGS LDFLAGS: =$(shell echo $(MYSQL_LDFLAGS) | sed s/-Wl,/ /;s/-rpath/ /)
+MYSQL_
+
(...) ------- ------- ------ 8< ------- ------- ------- ---
-------
First remark: I don't understand how the sed can work because ";" is the separator for shell commands. It should be >sed 's/-Wl, //;s/-rpath/ /'<.
The command "mysql_config --libs" creates arguments for gcc, not for ld program: ------- ------- ------ 8< ------- ------- ------- --- functions -rdynamic -L/usr/lib/mysql -lmysqlclient ------- ------- ------ 8< ------- ------- ------- ---
-------
$ mysql_config --libs
-Wl,-Bsymbolic-
-------
It looks like -rdynamic causes a link problem (bad -rpath option).
I don't know ld/gcc/dlopen options very well, but I'm sure that ulogd_MYSQL.so have to linked to libmysqlclient. so.15. Example on Ubuntu Ibex : ulogd/ulogd_ MYSQL.so i686/cmov/ libc.so. 6 (0xb7dd5000)
$ ldd /usr/lib/
linux-gate.so.1 => (0xb7f48000)
libc.so.6 => /lib/tls/
/lib/ld-linux.so.2 (0xb7f49000)
Example on Debian Lenny: ulogd/ulogd_ MYSQL.so .so.15 => /usr/lib/ libmysqlclient. so.15 (0xb7db4000)
$ ldd /usr/lib/
linux-gate.so.1 => (0xb7f98000)
libmysqlclient
The bug is still open since 3 months, why? Do you need more informations? The package is compiled correctly on Debian.