[asterisk-users] Compile logger-mysql.c with UNDEFINED REF to `mysql_error'

Atis Lezdins atis at iq-labs.net
Fri Oct 10 04:04:16 CDT 2008


On Fri, Oct 10, 2008 at 10:50 AM, Lee, John (Sydney)
<John.Lee at compuware.com> wrote:
> Sorry to post a C compile error on this mailing list but this is
> Asterisk related.
>
> Basically, I was following
> http://www.plack.net/index.php/2007/01/07/asterisk_modification_for_queu
> e_logging
>
> to patch logger.c and Makefile in Asterisk 1.4.* in order to write
> queue_log to mySQL database.
>
> When I ran make, it complained:
> In function `write_mysql_logger':
> [...]
> /usr/src/asterisk-1.4.21.2/main/logger-mysql.c:98: undefined reference
> to `mysql_error'
> [...]
> collect2: ld returned 1 exit status
> make[1]: *** [asterisk] Error 1
> make: *** [main] Error 2
>
> In my modified Makefile, I already had the line:
> ASTCFLAGS+=-I/usr/include/mysql
> and I found that mysql.h is already in /usr/include/mysql.
>
> I also already had mysql-client installed.
>
> In logger-mysql.c, there is already a line at the front of the program:
> #include <mysql.h>
>
>
> Any thoughts?

This looks really old and weird. I could suggest using realtime
queue_log backport from 1.6 which i'm currently using.

http://ftp.iq-labs.net/queue_log-1.4/asterisk_queue_log_realtime_1.4.19.patch

This uses standardized realtime/mysql library from asterisk addons.
For it to support SQL inserts in 1.4, you would also need to apply
both patches from (1 for asterisk, another for asterisk-addons)

http://ftp.iq-labs.net/realtime_store_destroy-1.4/

This will later allow you to upgrade to 1.6 and having everything
working without patching.

Regards,
Atis


-- 
Atis Lezdins,
VoIP Project Manager / Developer,
atis at iq-labs.net
Skype: atis.lezdins
Cell Phone: +371 28806004
Cell Phone: +1 800 7300689
Work phone: +1 800 7502835



More information about the asterisk-users mailing list