Skip Menu |

This queue is for tickets about the DBD-mysql CPAN distribution.

Report information
The Basics
Id: 102096
Status: resolved
Priority: 0/
Queue: DBD-mysql

People
Owner: MICHIELB [...] cpan.org
Requestors: brian [...] eliassen.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Error in 4.029 make test
Date: Thu, 12 Feb 2015 16:07:55 -0800
To: bug-DBD-mysql [...] rt.cpan.org
From: Brian Eliassen <brian [...] eliassen.org>
On Solaris 10, and during a "make test", the program will terminate with a "__gxx_personality_v0: referenced symbol not found" error. The perl Makefile.pl was created with my --testpassword value and -- mysql_config=/usr/local/mysql/bin/mysql_config to read in variables. However, the Makefile needed to have "-lstdc++" added to the LDLOADLIBS line as the code is attempting a g++ call from within gcc. stdc++ is necessary if you call g++ from gcc. Once this was done, it tested and installed properly.
Subject: Re: [rt.cpan.org #102096] Error in 4.029 make test
Date: Thu, 12 Feb 2015 16:20:01 -0800
To: bug-DBD-mysql [...] rt.cpan.org
From: Brian Eliassen <brian [...] eliassen.org>
Missing debug data: DBD-mysql-4.029 This is perl 5, version 14, subversion 2 (v5.14.2) built for sun4- solaris SunOS frodo 5.10 Generic_150400-18 sun4u sparc SUNW,Sun-Blade-2500 $ make test PERL_DL_NONLAZY=1 "/usr/local/bin/perl" "-MExtUtils::Command::MM" "- MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.t ........................... 2/6 # Failed test 'use DBD::mysql;' # at t/00base.t line 18. # Tried to use 'DBD::mysql'. # Error: Can't load '/export/home/brian/software/DBD-mysql-4.029/ blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: ld.so.1: perl: fatal: relocation error: file /usr/local/mysql/lib/ libmysqlclient.so.18: symbol __gxx_personality_v0: referenced symbol not found at /usr/local/lib/perl5/5.14.2/sun4-solaris/DynaLoader.pm line 190. # at (eval 8) line 2. # Compilation failed in require at (eval 8) line 2. # BEGIN failed--compilation aborted at (eval 8) line 2. Bailout called. Further testing stopped: Unable to load DBD::mysql FAILED--Further testing stopped: Unable to load DBD::mysql make: *** [test_dynamic] Error 255 LDLOADLIBS = -L/usr/local/mysql/lib -lmysqlclient -lsocket -lnsl -lm - lrt Adding -lstdg++ resolves the problem: LDLOADLIBS = -L/usr/local/mysql/lib -lmysqlclient -lsocket -lnsl -lm - lrt -lstdg++ Output from perl Makefile.PL --testpassword=<snipped> --mysql_config=/ usr/local/mysql/bin/mysql_config I will use the following settings for compiling and testing: cflags (mysql_config ) = -I/usr/local/mysql/include -g - fabi-version=2 -fno-omit-frame-pointer -fno-strict-aliasing embedded (mysql_config ) = ldflags (mysql_config ) = -R/usr/local/mysql/lib libs (mysql_config ) = -L/usr/local/mysql/lib - lmysqlclient -lsocket -lnsl -lm -lrt mysql_config (Users choice ) = /usr/local/mysql/bin/mysql_config nocatchstderr (default ) = 0 nofoundrows (default ) = 0 ssl (guessed ) = 0 testdb (default ) = test testhost (default ) = testpassword (User's choice) = <snipped> testport (default ) = testsocket (default ) = testuser (guessed ) = root To change these settings, see 'perl Makefile.PL --help' and 'perldoc DBD::mysql::INSTALL'. Using DBI 1.633 (for perl 5.014002 on sun4-solaris) installed in /usr/ local/lib/perl5/site_perl/5.14.2/sun4-solaris/auto/DBI/ Generating a Unix-style Makefile Writing Makefile for DBD::mysql Writing MYMETA.yml and MYMETA.json
Hi, It looks from the logs you included the reason you had this problem is your libmysqlclient.so.18 is miscompiled -- it is linked against libstdc++, it should be included in 'mysql_config --libs' but isn't. So it's a problem of libmysqlclient rather than DBD::mysql. -- Michiel