Bug #2013 embeddedserver fails linking
Submitted: 4 Dec 2003 7:47 Modified: 9 Dec 2003 11:33
Reporter: [ name withheld ] Email Updates:
Status: Not a Bug Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:4.0.16 OS:Linux (Linux 2.4.20)
Assigned to: CPU Architecture:Any

[4 Dec 2003 7:47] [ name withheld ]
Description:
Hi, i try to compile the example for the embedded server from the manual.
I can compile with libmysqlclient but not with libmysqld.
i wrote compiler output and errors into this file:
http://s-sl.cc/test.txt

How to repeat:
http://s-sl.cc/test.txt
[4 Dec 2003 11:36] Dean Ellis
Compile with g++.

Thank you.
[4 Dec 2003 11:46] Dean Ellis
Or, actually, link to libstdc++.

As mysql_config --embedded is not reporting the dependency I am going to verify this as a bug.

Thank you
[5 Dec 2003 1:49] [ name withheld ]
Hi,
When linking the c++ libs most linking errors resolve. (shame on me that i didn't think about that myself)
But there still seems to be a problem involving the thread support?

g++ -g -W -Wall -I./include -D_THREAD_SAFE -D_REENTRANT   test_libmysqld.c  -L./libmysqld -lmysqld -lz -lm -lcrypt -lpthread -o test_libmysqld           
/usr/bin/ld: /lib/libpthread.a(specific.o)(.stab+0x1298): unresolvable relocation against symbol `__libc_internal_tsd_set@@GLIBC_PRIVATE'
/usr/bin/ld: /lib/libpthread.a(specific.o)(.stab+0x13dc): unresolvable relocation against symbol `__libc_internal_tsd_get@@GLIBC_PRIVATE'

It creates a binary that will segfault.
0x00000000 in ?? ()
(gdb) bt
#0  0x00000000 in ?? ()
#1  0x401a62b1 in _IO_no_init () from /lib/libc.so.6
#2  0x40199270 in __fopen_internal () from /lib/libc.so.6
#3  0x401992fe in fopen@@GLIBC_2.1 () from /lib/libc.so.6
#4  0x401cec59 in __tzfile_read () from /lib/libc.so.6
#5  0x401cd977 in tzset_internal () from /lib/libc.so.6
#6  0x401ce8a8 in tzset () from /lib/libc.so.6
#7  0x080543f4 in mysql_server_init ()
#8  0x0804c27a in main (argc=1, argv=0xbffffd04) at test_libmysqld.c:45
#9  0x4014adc4 in __libc_start_main () from /lib/libc.so.6

What release should i get to get a working embedded server / is the embedded server really stable?
I want to use a database in an embedded box with low diskspace, only databases i found were mysql embdedded and the oracle lite.
I'd prefer to stay with mysql.
[5 Dec 2003 2:46] [ name withheld ]
Sorry, looks like my libpthread was too old.
The linking of the gcc libs +recompilation of libmysqld with updated libs resolved the problem.