Problem testing DBD::mysql 3.0004

Problem testing DBD::mysql 3.0004

am 22.05.2006 18:02:05 von Richard Skelton

Hi,
I am trying to install the module DBD::mysql 3.0004 for perl 5.008008 on
Solaris and it fails the test t/prepare_noerror :-

root: /opt/perl-5.8.8/bin/perl Makefile.PL
I will use the following settings for compiling and testing:

cflags (mysql_config) = -I/usr/sfw/include/mysql -xstrconst -mt
embedded (mysql_config) =
libs (mysql_config) = -R/usr/sfw/lib -R/usr/sfw/lib/mysql
-L/usr/sfw/lib -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt
-lgen -lsocket -lnsl -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 (default ) =

To change these settings, see 'perl Makefile.PL --help' and
'perldoc INSTALL'.

Checking if your kit is complete...
Looks good
Using DBI 1.50 (for perl 5.008008 on sun4-solaris) installed in
/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
Writing Makefile for DBD::mysql
root: make test
cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
cp lib/Mysql.pm blib/lib/Mysql.pm
cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm
cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
-I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
-g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
-DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
"-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" dbdimp.c
/opt/perl-5.8.8/bin/perl -p -e "s/~DRIVER~/mysql/g"
/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI//D river.xst >
mysql.xsi
/opt/perl-5.8.8/bin/perl /opt/perl-5.8.8/lib/5.8.8/ExtUtils/xsubpp
-typemap /opt/perl-5.8.8/lib/5.8.8/ExtUtils/typemap mysql.xs >
mysql.xsc && mv mysql.xsc mysql.c
Warning: duplicate function definition 'do' detected in mysql.xs, line 224
Warning: duplicate function definition 'rows' detected in mysql.xs, line 559
cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
-I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
-g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
-DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
"-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" mysql.c
"mysql.xs", line 631: warning: implicit function declaration: is_prefix
Running Mkbootstrap for DBD::mysql ()
chmod 644 mysql.bs
rm -f blib/arch/auto/DBD/mysql/mysql.so
LD_RUN_PATH="/usr/sfw/lib:/usr/lib" /opt/perl-5.8.8/bin/perl myld cc -G
-L/usr/lib -L/usr/ccs/lib -L/opt/studio10/SUNWspro/prod/lib/v8plus
-L/opt/studio10/SUNWspro/prod/lib -L/lib -L/usr/local/lib dbdimp.o
mysql.o -o blib/arch/auto/DBD/mysql/mysql.so \
-R/usr/sfw/lib -R/usr/sfw/lib/mysql -L/usr/sfw/lib
-L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt -lgen -lsocket
-lnsl -lm \

chmod 755 blib/arch/auto/DBD/mysql/mysql.so
cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
PERL_DL_NONLAZY=1 /opt/perl-5.8.8/bin/perl "-MExtUtils::Command::MM"
"-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base.............ok

t/10dsnlist..........ok

t/20createdrop.......ok

t/30insertfetch......ok

t/35limit............ok

t/35prepare..........ok

t/40bindparam........ok

t/40blobs............ok

t/40listfields.......ok

t/40nulls............ok

t/40numrows..........ok

t/41bindparam........ok

t/41blobs_prepare....ok

t/42bindparam........ok

t/50chopblanks.......ok

t/50commit...........ok

t/60leaks............skipped
all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable
not installed
t/dbdadmin...........ok

t/insertid...........ok

t/param_values.......ok

t/prepare_noerror....FAILED test
2
Failed 1/3 tests, 66.67% okay
t/texecute...........ok

Failed Test Stat Wstat Total Fail Failed List of Failed
------------------------------------------------------------ -------------------
t/prepare_noerror.t 3 1 33.33% 2
1 test skipped.
Failed 1/22 test scripts, 95.45% okay. 1/434 subtests failed, 99.77% okay.
*** Error code 29
make: Fatal error: Command failed for target `test_dynamic'


How do I fix this problem?

--



Cheers

Richard Skelton
Richard.Skelton@infineon.com
Infineon Technologies UK Ltd
Infineon House
Great Western Court
Hunts Ground Road
Stoke Gifford
Bristol
BS34 8HP
Tel +44(0)117 9528808

--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org

RE: Problem testing DBD::mysql 3.0004

am 22.05.2006 18:44:13 von Martin.Evans

Richard,

I wrote t/prepare_noerror.t.

It works for me with DBD::mysql 3.0004 and 3.0004_1.

It was written to ensure you get an error if invalid SQL is entered

i.e.

my $dbh = DBI->connect("$test_dsn;mysql_server_prepare=1", $user, $pass);
eval { $srh = $dbh->prepare("select select select");};
if (!defined($DBI::errstr)) {
print "DBI::errstr not defined - should be\n";
} else {
print "$DBI::errstr\n";
}

It was written to highlight the fact that an error was not coming back
when mysql_server_prepare = 1.

Unless you connect to mysql with mysql_server_prepare=1 it does not matter.

However, I would be interested if you could:

edit t/prepare_noerror.t and uncomment the "print STDERR $DBI::errstr" line
then rerun the test with:

make test TEST_VERBOSE=1 and send me the output.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com


On 22-May-2006 Richard Skelton wrote:
> Hi,
> I am trying to install the module DBD::mysql 3.0004 for perl 5.008008 on
> Solaris and it fails the test t/prepare_noerror :-
>
> root: /opt/perl-5.8.8/bin/perl Makefile.PL
> I will use the following settings for compiling and testing:
>
> cflags (mysql_config) = -I/usr/sfw/include/mysql -xstrconst -mt
> embedded (mysql_config) =
> libs (mysql_config) = -R/usr/sfw/lib -R/usr/sfw/lib/mysql
> -L/usr/sfw/lib -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt
> -lgen -lsocket -lnsl -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 (default ) =
>
> To change these settings, see 'perl Makefile.PL --help' and
> 'perldoc INSTALL'.
>
> Checking if your kit is complete...
> Looks good
> Using DBI 1.50 (for perl 5.008008 on sun4-solaris) installed in
> /opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> Writing Makefile for DBD::mysql
> root: make test
> cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
> cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
> cp lib/Mysql.pm blib/lib/Mysql.pm
> cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
> cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm
> cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
> cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
> -g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
> -DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
> "-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" dbdimp.c
> /opt/perl-5.8.8/bin/perl -p -e "s/~DRIVER~/mysql/g"
> /opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI//D river.xst >
> mysql.xsi
> /opt/perl-5.8.8/bin/perl /opt/perl-5.8.8/lib/5.8.8/ExtUtils/xsubpp
> -typemap /opt/perl-5.8.8/lib/5.8.8/ExtUtils/typemap mysql.xs >
> mysql.xsc && mv mysql.xsc mysql.c
> Warning: duplicate function definition 'do' detected in mysql.xs, line 224
> Warning: duplicate function definition 'rows' detected in mysql.xs, line 559
> cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
> -g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
> -DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
> "-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" mysql.c
> "mysql.xs", line 631: warning: implicit function declaration: is_prefix
> Running Mkbootstrap for DBD::mysql ()
> chmod 644 mysql.bs
> rm -f blib/arch/auto/DBD/mysql/mysql.so
> LD_RUN_PATH="/usr/sfw/lib:/usr/lib" /opt/perl-5.8.8/bin/perl myld cc -G
> -L/usr/lib -L/usr/ccs/lib -L/opt/studio10/SUNWspro/prod/lib/v8plus
> -L/opt/studio10/SUNWspro/prod/lib -L/lib -L/usr/local/lib dbdimp.o
> mysql.o -o blib/arch/auto/DBD/mysql/mysql.so \
> -R/usr/sfw/lib -R/usr/sfw/lib/mysql -L/usr/sfw/lib
> -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt -lgen -lsocket
> -lnsl -lm \
>
> chmod 755 blib/arch/auto/DBD/mysql/mysql.so
> cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
> chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
> PERL_DL_NONLAZY=1 /opt/perl-5.8.8/bin/perl "-MExtUtils::Command::MM"
> "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/00base.............ok
>
> t/10dsnlist..........ok
>
> t/20createdrop.......ok
>
> t/30insertfetch......ok
>
> t/35limit............ok
>
> t/35prepare..........ok
>
> t/40bindparam........ok
>
> t/40blobs............ok
>
> t/40listfields.......ok
>
> t/40nulls............ok
>
> t/40numrows..........ok
>
> t/41bindparam........ok
>
> t/41blobs_prepare....ok
>
> t/42bindparam........ok
>
> t/50chopblanks.......ok
>
> t/50commit...........ok
>
> t/60leaks............skipped
> all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable
> not installed
> t/dbdadmin...........ok
>
> t/insertid...........ok
>
> t/param_values.......ok
>
> t/prepare_noerror....FAILED test
> 2
> Failed 1/3 tests, 66.67% okay
> t/texecute...........ok
>
> Failed Test Stat Wstat Total Fail Failed List of Failed
> ------------------------------------------------------------ ------------------
> -
> t/prepare_noerror.t 3 1 33.33% 2
> 1 test skipped.
> Failed 1/22 test scripts, 95.45% okay. 1/434 subtests failed, 99.77% okay.
> *** Error code 29
> make: Fatal error: Command failed for target `test_dynamic'
>
>
> How do I fix this problem?
>
> --
>
>
>
> Cheers
>
> Richard Skelton
> Richard.Skelton@infineon.com
> Infineon Technologies UK Ltd
> Infineon House
> Great Western Court
> Hunts Ground Road
> Stoke Gifford
> Bristol
> BS34 8HP
> Tel +44(0)117 9528808
>
> --
> MySQL Perl Mailing List
> For list archives: http://lists.mysql.com/perl
> To unsubscribe:
> http://lists.mysql.com/perl?unsub=martin.evans@easysoft.com

--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org

RE: Problem testing DBD::mysql 3.0004

am 23.05.2006 16:44:25 von Martin.Evans

--_=XFMail.1.5.5-RC1.Linux:20060523154425:1938=_
Content-Type: text/plain; charset=us-ascii

Richard has helped me identify the problem which is the new prepare_noerror.t
test does not work properly if your MySQL client library is before 4.01.03.
I have fixed the problem. The attached replacement for prepare_noerror.t should
work for everyone.

Martin
--
Martin J. Evans
Easysoft Ltd, UK
http://www.easysoft.com


On 22-May-2006 Richard Skelton wrote:
> Hi,
> I am trying to install the module DBD::mysql 3.0004 for perl 5.008008 on
> Solaris and it fails the test t/prepare_noerror :-
>
> root: /opt/perl-5.8.8/bin/perl Makefile.PL
> I will use the following settings for compiling and testing:
>
> cflags (mysql_config) = -I/usr/sfw/include/mysql -xstrconst -mt
> embedded (mysql_config) =
> libs (mysql_config) = -R/usr/sfw/lib -R/usr/sfw/lib/mysql
> -L/usr/sfw/lib -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt
> -lgen -lsocket -lnsl -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 (default ) =
>
> To change these settings, see 'perl Makefile.PL --help' and
> 'perldoc INSTALL'.
>
> Checking if your kit is complete...
> Looks good
> Using DBI 1.50 (for perl 5.008008 on sun4-solaris) installed in
> /opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> Writing Makefile for DBD::mysql
> root: make test
> cp lib/DBD/mysql.pm blib/lib/DBD/mysql.pm
> cp lib/DBD/mysql/GetInfo.pm blib/lib/DBD/mysql/GetInfo.pm
> cp lib/Mysql.pm blib/lib/Mysql.pm
> cp lib/DBD/mysql/INSTALL.pod blib/lib/DBD/mysql/INSTALL.pod
> cp lib/Mysql/Statement.pm blib/lib/Mysql/Statement.pm
> cp lib/Bundle/DBD/mysql.pm blib/lib/Bundle/DBD/mysql.pm
> cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
> -g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
> -DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
> "-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" dbdimp.c
> /opt/perl-5.8.8/bin/perl -p -e "s/~DRIVER~/mysql/g"
> /opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI//D river.xst >
> mysql.xsi
> /opt/perl-5.8.8/bin/perl /opt/perl-5.8.8/lib/5.8.8/ExtUtils/xsubpp
> -typemap /opt/perl-5.8.8/lib/5.8.8/ExtUtils/typemap mysql.xs >
> mysql.xsc && mv mysql.xsc mysql.c
> Warning: duplicate function definition 'do' detected in mysql.xs, line 224
> Warning: duplicate function definition 'rows' detected in mysql.xs, line 559
> cc -c -I/opt/perl-5.8.8/lib/site_perl/5.8.8/sun4-solaris/auto/DBI/
> -I/usr/sfw/include/mysql -xstrconst -mt -DDBD_MYSQL_INSERT_ID_IS_GOOD
> -g -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -DPERL_USE_SAFE_PUTENV -DPERL_USE_SAFE_PUTENV -fast -xtarget=ultra2
> -DVERSION=\"3.0004\" -DXS_VERSION=\"3.0004\" -KPIC
> "-I/opt/perl-5.8.8/lib/5.8.8/sun4-solaris/CORE" mysql.c
> "mysql.xs", line 631: warning: implicit function declaration: is_prefix
> Running Mkbootstrap for DBD::mysql ()
> chmod 644 mysql.bs
> rm -f blib/arch/auto/DBD/mysql/mysql.so
> LD_RUN_PATH="/usr/sfw/lib:/usr/lib" /opt/perl-5.8.8/bin/perl myld cc -G
> -L/usr/lib -L/usr/ccs/lib -L/opt/studio10/SUNWspro/prod/lib/v8plus
> -L/opt/studio10/SUNWspro/prod/lib -L/lib -L/usr/local/lib dbdimp.o
> mysql.o -o blib/arch/auto/DBD/mysql/mysql.so \
> -R/usr/sfw/lib -R/usr/sfw/lib/mysql -L/usr/sfw/lib
> -L/usr/sfw/lib/mysql -lmysqlclient -lz -lposix4 -lcrypt -lgen -lsocket
> -lnsl -lm \
>
> chmod 755 blib/arch/auto/DBD/mysql/mysql.so
> cp mysql.bs blib/arch/auto/DBD/mysql/mysql.bs
> chmod 644 blib/arch/auto/DBD/mysql/mysql.bs
> PERL_DL_NONLAZY=1 /opt/perl-5.8.8/bin/perl "-MExtUtils::Command::MM"
> "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
> t/00base.............ok
>
> t/10dsnlist..........ok
>
> t/20createdrop.......ok
>
> t/30insertfetch......ok
>
> t/35limit............ok
>
> t/35prepare..........ok
>
> t/40bindparam........ok
>
> t/40blobs............ok
>
> t/40listfields.......ok
>
> t/40nulls............ok
>
> t/40numrows..........ok
>
> t/41bindparam........ok
>
> t/41blobs_prepare....ok
>
> t/42bindparam........ok
>
> t/50chopblanks.......ok
>
> t/50commit...........ok
>
> t/60leaks............skipped
> all skipped: $ENV{SLOW_TESTS} is not set or Proc::ProcessTable
> not installed
> t/dbdadmin...........ok
>
> t/insertid...........ok
>
> t/param_values.......ok
>
> t/prepare_noerror....FAILED test
> 2
> Failed 1/3 tests, 66.67% okay
> t/texecute...........ok
>
> Failed Test Stat Wstat Total Fail Failed List of Failed
> ------------------------------------------------------------ ------------------
> -
> t/prepare_noerror.t 3 1 33.33% 2
> 1 test skipped.
> Failed 1/22 test scripts, 95.45% okay. 1/434 subtests failed, 99.77% okay.
> *** Error code 29
> make: Fatal error: Command failed for target `test_dynamic'
>
>
> How do I fix this problem?
>
> --
>
>
>
> Cheers
>
> Richard Skelton
> Richard.Skelton@infineon.com
> Infineon Technologies UK Ltd
> Infineon House
> Great Western Court
> Hunts Ground Road
> Stoke Gifford
> Bristol
> BS34 8HP
> Tel +44(0)117 9528808
>
> --
> MySQL Perl Mailing List
> For list archives: http://lists.mysql.com/perl
> To unsubscribe:
> http://lists.mysql.com/perl?unsub=martin.evans@easysoft.com


--_=XFMail.1.5.5-RC1.Linux:20060523154425:1938=_
Content-Type: text/plain; charset=us-ascii


--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org
--_=XFMail.1.5.5-RC1.Linux:20060523154425:1938=_--
End of MIME message