Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: cpanrt [...] nfwebsolutions.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in:
  • 4.014
  • 4.015
  • 4.016
  • 4.017
  • 4.018
  • 4.019
  • 4.020
  • 4.021
  • 4.022
Fixed in: (no value)



Subject: Fix for: "'sprintf' is not recognized as an internal or external command ..." -- Windows specific
Hi, A patch I previously recommended in November 2009 (pushed live into DBD::mysql v4.014 onwards) contains a Perl coding syntax error, causing the make stage to fail on Windows with the following error: C:\strawberry\cpan\build\DBD-mysql-4.022-OLuTyU>perl Makefile.PL --with-mysql="C:\dev\mysql\MySQL Server 5.5" --testuser=user --testpassword=password 'sprintf' is not recognized as an internal or external command, operable program or batch file. Problem running C:\dev\mysql\MYSQLS~1.5\bin\MYSQLA~1.EXE - aborting ... Previous RT bug number (containing the offending patch): #51784 -- https://rt.cpan.org/Public/Bug/Display.html?id=51784 I have attached a patch file that will fix the issue by ensuring the path to MySQL admin' and the command line parameters are resolved into a string before being given to qx() to execute and catch the output of. -- RT bug #67280 ( https://rt.cpan.org/Public/Bug/Display.html?id=67280 ) is a bug report related to the above issue. -- Details not required for this bug report, but may prove helpful: I encountered the above Makefile.PL error when trying to compile DBD::mysql v4.022 on Strawberry Perl v5.8.9 with MySQL Server v5.5.29 (community edition) on Microsoft Windows 7. Kind regards, Zeeshan
Subject: DBD-mysql _v4.022_sprintf_patch.diff
814c814,815 < $v = qx( sprintf('%s --user=%s --password=%s version', $mysqladmin , $opt->{'testuser'}, $opt->{'testpassword'}) ); --- > my $custom_mysqladmin = sprintf('%s --user=%s --password=%s version', $mysqladmin , $opt->{'testuser'}, $opt->{'testpassword'}); > $v = qx($custom_mysqladmin);