Mathijs Brands wrote:
> I assume you're referring to the 'pthread_mutex_destroy' symbol?
> This is caused by the fact that the module is linked against libc,
> while it should be linked against libc_r. libc_r is the threadsafe
> version of the C library - that's why libc doesn't contain any
> threadings stuff.
Excellent. Two questions: How did you manage that libc_r was
used? And do you see any possibility for me to detect
automatically, whether libc or libc_r should be used?
> There are several reasons why I didn't analyze the coredump:
> 3. I don't have the Perl source lying around
> 2. Perl is linked against libc, mysql.so against libc_r
> 1. The Perl binary has been stripped (standard FreeBSD config)
Excellent again. Here's how to go:
- Create a new version of DBD::mysql be doing a
perl Makefile.PL --static --config OPTIMIZE=-g LINKTYPE=static
make
make perl
make test
- Start it from within gdb by doing
cd mysql
gdb ../perl
r -I../blib/arch -I../blib/lib t/00base.t
(Replace the test script name, as appropriate.)
Feel free to ask for more suggestions.
Bye,
Jochen