Skip Menu |
 

This queue is for tickets about the Win32-OLE CPAN distribution.

Report information
The Basics
Id: 125357
Status: new
Priority: 0/
Queue: Win32-OLE

People
Owner: Nobody in particular
Requestors: sjaluo [...] gmail.com
Cc:
AdminCc:

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



Subject: OLE Exception error 0x800a03ec while make test on Cygwin
Date: Sun, 20 May 2018 09:00:12 +0800
To: bug-Win32-OLE [...] rt.cpan.org
From: "S.J. Luo" <sjaluo [...] gmail.com>
Download (untitled) / with headers
text/plain 2.5k
Hi, I downloaded the Win32::OLE module from CPAN, fixed stricmp() function problem and successfully compiled it on Cygwin 64bit environment. Then there are some errors occurred on make test: ---------- % make test "/usr/bin/perl.exe" -MExtUtils::Command::MM -e 'cp_nonempty' -- OLE.bs blib/arch/auto/Win32/OLE/OLE.bs 644 PERL_DL_NONLAZY=1 "/usr/bin/perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/1_nls.t ....... ok t/2_variant.t ... ok t/3_ole.t ....... 1/58 OLE exception from "Microsoft Excel": Microsoft Excel cannot open or save any more documents because there is not enough available memory or disk space. • To make more memory available, close workbooks or programs you no longer need. • To free disk space, delete files you no longer need from the disk you are saving to. Win32::OLE(0.1712) error 0x800a03ec in METHOD/PROPERTYGET "Add" at t/3_ole.t line 130. Win32::OLE->QueryObjectType: object is not a Win32::OLE object at t/3_ole.t line 131. Can't call method "Xyzzy" on an undefined value at t/3_ole.t line 151. t/3_ole.t ....... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 55/58 subtests t/4_compat.t .... 1/5 Use of uninitialized value $bk in concatenation (.) or string at t/4_compat.t line 36. Can't use an undefined value as a HASH reference at t/4_compat.t line 41. t/4_compat.t .... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 5/5 subtests t/5_unicode.t ... ok t/6_event.t ..... skipped: D:\cyg_home\user\.cpan\build\Win32-OLE-0.1712-0\test.xls doesn't exist! Please run test 3_ole.t first t/7_overload.t .. skipped: D:\cyg_home\user\.cpan\build\Win32-OLE-0.1712-0\test.xls doesn't exist! Please run test 3_ole.t first ---------- The same problem was reported: http://qs1969.pair.com/~perl2/?node_id=1047451 http://www.perlmonks.org/?node_id=1125271 To figure out the cause, I've tried an Excel automation program written in C and the same problem occurs. The error would not occur if the C program is compiled by Mingw instead of Cygwin gcc. Therefore there might be some compatibility issue between OLE and Cygwin. I've found there is a document perlcygwin that mentions about environment variable issue on Cygwin which can be solved by calling a platform specific function Cygwin::sync_winenv(). After adding this function call into t/3_ole.t and t/4_compat.t as attached patch file. All test items passed. This shall not be a bug of Win32::OLE. But I think there should be some document addressing it. My system environment is Cygwin 2.10 x86_64 on Win7 SP1 and Excel2010.
Download cygwin_t.patch
text/x-diff 698b

Message body is not shown because sender requested not to inline it.



This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.