Bug #19532 Can not Compile DBD::mysql with MySQL from 5.0.20
Submitted: 4 May 2006 8:21 Modified: 27 Jul 2006 7:57
Reporter: Stefan Zingler Email Updates:
Status: Duplicate Impact on me:
None 
Category:Connectors: DBD::mysql ( Perl ) Severity:S3 (Non-critical)
Version:DBD::mysql 3.0002 OS:Linux (Linux SuSE 10)
Assigned to: CPU Architecture:Any

[4 May 2006 8:21] Stefan Zingler
Description:
I have Problem Compiling DBD::mysql with MySQL 5.0.20a.
I get the following Message:

meyer-lx:~/.cpan/build/DBD-mysql-3.0002 # make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0,
'blib/lib', 'blib/arch')" t/*.t
t/00base.............install_driver(mysql) failed: Can't load
'/root/.cpan/build/DBD-mysql-3.0002/blib/arch/auto/DBD/mysql/mysql.so' for module
DBD::mysql: /root/.cpan/build/DBD-mysql-3.0002/blib/arch/auto/DBD/mysql/mysql.so:
undefined symbol: __builtin_delete at
/usr/lib/perl5/5.8.7/i586-linux-thread-multi/DynaLoader.pm line 230.

I get this kind of error since MySQL 5.0.20.

Versions:

DBI 1.50
DBD::mysql 3.0002
MySQL-Server 5.0.21
SuSE 10

Thanks in advance for helping.

Yours
Stefan Zingler

How to repeat:
Install DBI 1.50
Install MySQL Development Files 5.0.20 or later
Install DBD::mysql 3.0002

run 
perl Makefile.PL
make
make test
Now i get the errors.

Suggested fix:
It only works with the Development Files from MySQL-5.0.19.
[16 May 2006 14:02] [ name withheld ]
It seems that there is similar problem with MySQLdb for python.
I'm trying to use MySQLdb on CentOS 4.3:
- gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)
- Python 2.3.4 (#1, Mar 10 2006, 06:12:09)
- mysql  Ver 14.12 Distrib 5.0.21, for pc-linux-gnu (i686) using readline 5.0

MySQLdb was compiled and installed without any errors.

But when I'm trying to import MySQLdb from my script I have the following error:
Failed to load application: /usr/lib/python2.3/site-packages/_mysql.so: undefined symbol: __builtin_delete
[29 May 2006 19:55] Valeriy Kravchuk
Please, try to repeat with a newer version, 3.0004, and inform about the results.
[30 May 2006 6:27] Stefan Zingler
Hello,

the Bug still exists in DBD::mysql Version 3.0004.
[30 May 2006 6:28] Stefan Zingler
I have put the result in a File attached.
[30 May 2006 6:29] Stefan Zingler
Result of DBD:mysql 3.0004 and MySQL 5.0.21

Attachment: message.txt (text/plain), 4.78 KiB.

[20 Jun 2006 15:17] Valeriy Kravchuk
Please, try to repeat with a newer version of DBD::mysql, 3.0006. What Perl version do you use?
[21 Jun 2006 6:27] Stefan Zingler
Problem still exists with DBD::mysql 3.0006.

Can this be a Problem with the shared Libraries or header files from MySQL Server?

My System: SuSE 10.0

My Perl Version:

meyer-lx:~/.cpan/build/DBD-mysql-3.0006 # perl -V
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
  Platform:
    osname=linux, osvers=2.6.12, archname=i586-linux-thread-multi
    uname='linux xw8200 2.6.12 #1 smp wed dec 14 13:10:38 utc 2005 i686 i686 i386 gnulinux '
    config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_
ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOU
RCE=2 -g -Wall -pipe'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe -
D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -march=i586 -mtune=i686 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 -g -Wall -pipe',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -pipe'
    ccversion='', gccversion='4.0.2 20050901 (prerelease) (SUSE Linux)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =''
    libpth=/lib /usr/lib /usr/local/lib
    libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
    libc=/lib/libc-2.3.5.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version='2.3.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-rpath,/usr/lib/perl5/5.8.7/i586-linu
x-thread-multi/CORE'
    cccdlflags='-fPIC', lddlflags='-shared'

Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
                        USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Locally applied patches:
        SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962
  Built under linux
  Compiled at Dec 17 2005 03:22:02
  @INC:
    /usr/lib/perl5/5.8.7/i586-linux-thread-multi
    /usr/lib/perl5/5.8.7
    /usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi
    /usr/lib/perl5/site_perl/5.8.7
    /usr/lib/perl5/site_perl
    /usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi
    /usr/lib/perl5/vendor_perl/5.8.7
    /usr/lib/perl5/vendor_perl
[28 Jun 2006 22:26] Chris Allen
This problem happens because DBD links against /usr/lib/mysql/libmysqlclient.a instead of /usr/lib/mysqlclient.so

This fix worked for me:

mv /usr/lib/mysql/libmysqlclient.a /usr/lib/mysql/backup_libmysqlclient.a

... then DBD::mysql compiles without any problems.
[17 Jul 2006 17:18] Valeriy Kravchuk
Please, specify, what exact binaries/RPMs you have installed.
[18 Jul 2006 7:46] Stefan Zingler
I have take the standard binaries from MySQL.com.
"Linux x86 generic RPM (statically linked against glibc 2.2.5) downloads"

Server, Client, Libraries and Header files.

Here the output from rpm command for the server rpm file:

Name        : MySQL-server                 Relocations: (not relocatable)
Version     : 5.0.20                            Vendor: MySQL AB
Release     : 0                             Build Date: Di 11 Apr 2006 06:48:04 MEST
Install date: (not installed)               Build Host: build.mysql.com
Group       : Applications/Databases        Source RPM: MySQL-5.0.20-0.src.rpm
Size        : 31886466                         License: GPL
Signature   : DSA/SHA1, Di 11 Apr 2006 19:49:01 MEST, Key ID 8c718d3b5072e1f5
Packager    : MySQL Production Engineering Team <build@mysql.com>
URL         : http://www.mysql.com/
Summary     : MySQL: a very fast and reliable SQL database server
Description :
[27 Jul 2006 7:30] Sveta Smirnova
Could you please check if your problem is correlated with problem decribed in bug #21158?
[27 Jul 2006 7:45] Stefan Zingler
Hi,

i try linking it with the -lmygcc Option listed in Bug #21158
and it works.

DBD::mysql 3.0006
MySQL 5.0.22-max
Suse: 10.0

Thanks
[27 Jul 2006 7:57] Sveta Smirnova
Thank you.

Altough this report is earlier then bug #21158, I mark this as duplicate of the bug #21158, because that report contains solution.