Skip Menu |

This queue is for tickets about the Spreadsheet-WriteExcel-FromXML CPAN distribution.

Report information
The Basics
Id: 3694
Status: new
Priority: 0/
Queue: Spreadsheet-WriteExcel-FromXML

People
Owner: Nobody in particular
Requestors: dario.marini [...] toll.com.au
Cc:
AdminCc:

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



Subject: tests failed when installing Spreadsheet-WriteExcel-FromXML-0.42
I have encountered a problem when trying to install the Spreadsheet-WriteExcel-FromXML-1.00 package. I would appreciate any suggestions on how to get past this issue. I have reinstalled all the packages in the dependency tree and each one passes all tests and installs without problem except for "FromXML". Here's the test output: p2central:/u01/home/dsm001/Spreadsheet-WriteExcel-FromXML-1.00> make test PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01use......ok t/09build....Can't locate object method "BINMODE" via package "IO::Scalar" at /usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite. pm line 224. t/09build....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED test 1 Failed 1/1 tests, 0.00% okay t/10write....Can't locate object method "BINMODE" via package "IO::Scalar" at /usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite. pm line 224. t/10write....dubious Test returned status 255 (wstat 65280, 0xff00) DIED. FAILED tests 1-2 Failed 2/2 tests, 0.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/09build.t 255 65280 1 1 100.00% 1 t/10write.t 255 65280 2 2 100.00% 1-2 Failed 2/3 test scripts, 33.33% okay. 3/4 subtests failed, 25.00% okay. make: *** [test_dynamic] Error 2 Other packages installed: expat-1.95.5-sol8-sparc-local IO-stringy-2.108 OLE-Storage_Lite-0.11 Parse-RecDescent-1.94 Spreadsheet-WriteExcel-0.42 Spreadsheet-WriteExcel-FromXML-1.00 XML-Parser-2.34 OS: SunOS p2central 5.8 Generic_108528-06 sun4u sparc SUNW,Ultra-250 Perl version: v5.8.0 built for sun4-solaris ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Debug output produced using a test script: ... Spreadsheet::WriteExcel::FromXML->XMLToXLS ( "test.xml", "test.xls" ); ... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DB<2> b 68 DB<3> L /usr/local/lib/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/WorkbookBig.pm: 68: $date->save($self->{_filename}); break if (1) DB<3> R Warning: some settings and command-line options may be lost! Loading DB routines from perl5db.pl version 1.19 Editor support available. Enter h or `h h' for help, or `man perldebug' for more help. main::(test.pl:7): Spreadsheet::WriteExcel::FromXML->XMLToXLS ( "test.xml", "test.xls" ); DB<3> c Spreadsheet::WriteExcel::WorkbookBig::_store_OLE_file(/usr/local/lib/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/WorkbookBig.pm:68) : 68: $date->save($self->{_filename}); DB<3> s OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:204): 204: my($oThis, $sFile, $bNoAs, $rhInfo) = @_; DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:206): 206: $rhInfo = {} unless($rhInfo); DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:207): 207: $rhInfo->{_BIG_BLOCK_SIZE} = 2** 208: (($rhInfo->{_BIG_BLOCK_SIZE})? 209: _adjust2($rhInfo->{_BIG_BLOCK_SIZE}) : 9); DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:210): 210: $rhInfo->{_SMALL_BLOCK_SIZE}= 2 ** 211: (($rhInfo->{_SMALL_BLOCK_SIZE})? 212: _adjust2($rhInfo->{_SMALL_BLOCK_SIZE}): 6); DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:213): 213: $rhInfo->{_SMALL_SIZE} = 0x1000; DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:214): 214: $rhInfo->{_PPS_SIZE} = 0x80; DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:218): 218: if(ref($sFile) eq 'SCALAR') { DB<3> OLE::Storage_Lite::PPS::Root::save(/usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm:224): 224: binmode($sFile); DB<3> Can't locate object method "BINMODE" via package "IO::Scalar" at /usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite.pm line 224. OLE::Storage_Lite::PPS::Root::save('OLE::Storage_Lite::PPS::Root=HASH(0x8b48b0)','IO::Scalar=GLOB(0x2b3c8)') called at /usr/ local/lib/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/WorkbookBig.pm line 68 Spreadsheet::WriteExcel::WorkbookBig::_store_OLE_file('Spreadsheet::WriteExcel::Big=HASH(0x89f5fc)') called at /usr/local/li b/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/Workbook.pm line 586 Spreadsheet::WriteExcel::Workbook::_store_workbook('Spreadsheet::WriteExcel::Big=HASH(0x89f5fc)') called at /usr/local/lib/p erl5/site_perl/5.8.0/Spreadsheet/WriteExcel/Workbook.pm line 113 Spreadsheet::WriteExcel::Workbook::close('Spreadsheet::WriteExcel::Big=HASH(0x89f5fc)') called at /usr/local/lib/perl5/site_ perl/5.8.0/Spreadsheet/WriteExcel/FromXML/Workbook.pm line 142 Spreadsheet::WriteExcel::FromXML::Workbook::buildWorkbook('Spreadsheet::WriteExcel::FromXML::Workbook=HASH(0x73ee74)') calle d at /usr/local/lib/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/FromXML.pm line 311 Spreadsheet::WriteExcel::FromXML::buildSpreadsheet('Spreadsheet::WriteExcel::FromXML=HASH(0x22c7c)') called at /usr/local/li b/perl5/site_perl/5.8.0/Spreadsheet/WriteExcel/FromXML.pm line 80 Spreadsheet::WriteExcel::FromXML::XMLToXLS('Spreadsheet::WriteExcel::FromXML','test.xml','test.xls') called at test.pl line 7 IO::Handle::DESTROY(/usr/local/lib/perl5/5.8.0/sun4-solaris/IO/Handle.pm:322): 322: sub DESTROY {} DB<3> p ref($sFile) DB<4> q
[guest - Tue Sep 2 01:58:53 2003]: Show quoted text
> I have encountered a problem when trying to install the Spreadsheet- > WriteExcel-FromXML-1.00 package. I would appreciate any suggestions on > how to get past this issue. > > I have reinstalled all the packages in the dependency tree and each > one passes all tests and installs without problem except for > "FromXML". > > Here's the test output: > > > p2central:/u01/home/dsm001/Spreadsheet-WriteExcel-FromXML-1.00> make > test > PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" > "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t > t/01use......ok > t/09build....Can't locate object method "BINMODE" via package > "IO::Scalar" at /usr/local/lib/perl5/site_perl/5.8.0/OLE/Storage_Lite. > pm line 224.
This, unfortunately, is a known issue that FromXML has with OLE::Storage_Lite. I've created a patch and mailed the author of the module but have not yet received a response from them. The patch is fairly simple and enables Storage_Lite to handle IO::Scalar's for IO (I needed FromXML to not require an on-disk file). The patch is available here if you want to apply it yourself: http://bgw.org/projects/perl/Storage_Lite.pm.patch Kyle R. Burton
--- OLE-Storage_Lite-0.11/Storage_Lite.pm 2002-11-11 17:44:14.000000000 -0500 +++ OLE-Storage_Lite-0.11-krb/Storage_Lite.pm 2003-07-29 21:48:32.000000000 -0400 @@ -213,16 +213,23 @@ $rhInfo->{_SMALL_SIZE} = 0x1000; $rhInfo->{_PPS_SIZE} = 0x80; + my $closeFile = undef; + #1.Open File #1.1 $sFile is Ref of scalar if(ref($sFile) eq 'SCALAR') { my $oIo = new IO::Scalar $sFile, O_WRONLY; $rhInfo->{_FILEH_} = $oIo; + $closeFile = 1; } #1.2 $sFile is a IO::Handle object + elsif(UNIVERSAL::isa($sFile, 'IO::Scalar')) { + $rhInfo->{_FILEH_} = $sFile; + } elsif(UNIVERSAL::isa($sFile, 'IO::Handle')) { binmode($sFile); $rhInfo->{_FILEH_} = $sFile; + $closeFile = 1; } #1.3 $sFile is a simple filename string elsif(!ref($sFile)) { @@ -237,6 +244,7 @@ $oIo->fdopen(fileno(STDOUT),"w") || return undef; binmode($oIo); $rhInfo->{_FILEH_} = $oIo; + $closeFile = 1; } } #1.4 Others @@ -269,7 +277,7 @@ #6. Write BD and BDList and Adding Header informations $oThis->_saveBbd($iSBDcnt, $iBBcnt, $iPPScnt, $rhInfo); #7.Close File - $rhInfo->{_FILEH_}->close unless($sFile ne '-'); + $rhInfo->{_FILEH_}->close if $closeFile; } #------------------------------------------------------------------------------ # _calcSize (OLE::Storage_Lite::PPS)
From: justin
1.01 removed the dependency on Spreadsheet::Workbook::Big which depends on our patched version of OLE::Storage_Lite. 1.01 has passed on Solaris: http://testers.cpan.org/search?request=dist&dist=Spreadsheet-WriteExcel-FromXML