CC: | aab [...] purdue.edu |
Subject: | mysql_config --libs output wrong ?? -- |
Date: | Wed, 18 Feb 2009 02:10:51 -0500 (EST) |
To: | bug-DBD-mysql [...] rt.cpan.org |
From: | Paul Townsend <aab [...] purdue.edu> |
=====
1) This problem has several layers. The DBD-mysql MakeMaker Makefile
build attempts to use a value returned by mysql_config that is
rejected by ExtUtils/Liblist/Kid.pm during the MakeMaker invocation.
2) There is apparently an uninitialized variable in Makefile.PL.
Show quoted text
> perl -v
This is perl, v5.8.2 built for aix-thread-multi
Show quoted text> /opt/freeware/bin/uname -a
AIX mymachine 3 5 00CB48DD4C00 powerpc unknown AIX -- AIX5.3 --
DBI-1.607
DBD-mysql-4.010
Show quoted text> /apps/mysql/mysql/bin/mysql_config --version --libs
5.1.31
-Wl,-brtl -L/apps/mysql/mysql/lib -lmysqlclient -lz -lnsl_r -lm
This is the output from `perl Makefile.PL 2>&1' with some of the leading
text removed --
. . .
Use of uninitialized value in printf at Makefile.PL line 175, <PIPE> line 102.
I will use the following settings for compiling and testing:
cflags (mysql_config) = -I/apps/mysql/mysql/include -g -ma -qstrict -qoptimize=0 -qmaxmem=8192 -DUNIV_AIX
embedded (mysql_config) =
libs (mysql_config) = -Wl,-brtl -L/apps/mysql/mysql/lib -lmysqlclient -lz -lnsl_r -lm
mysql_config (guessed ) = mysql_config
nocatchstderr (default ) = 0
nofoundrows (default ) = 0
ssl (guessed ) = 0
testdb (default ) = test
testhost (default ) =
testpassword (default ) =
testsocket (default ) =
testuser ( ) = me
To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.
Unrecognized argument in LIBS ignored: '-Wl,-brtl'
Using DBI 1.607 (for perl 5.008002 on aix-thread-multi) installed in /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/DBI/
Writing Makefile for DBD::mysql
Show quoted text> grep -r 'Unrecognized argument in' /usr/opt/perl5
/usr/opt/perl5/lib/5.8.2/ExtUtils/Liblist/Kid.pm: warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
The code in Kid.pm allows arguments with "-L*", "-R*" and "-l*" only and
gets real uptight with anything else.
Besides Kid.pm not liking the '-Wl,-brtl' specification, that option
will work with the compiler only. It will not work with the `ld'
invocation that is generated in the DBD-mysql Makefile so it's probably
a good(?) thing that Kid.pm removes it.
FWIW - MakeMaker generates but never uses the Makefile line
LDFLAGS = -brtl -b32 -bmaxdata:0x80000000
and "testport" is missing from the above list.
-- Paul Townsend (Alpha, Alpha, Beta [at, purdue ,dot] edu)