Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^3: How to make Win32::OLE work on Cygwin (cpan -i -T Win32::OLE)

by choroba (Archbishop)
on Apr 30, 2015 at 11:47 UTC ( #1125266=note: print w/replies, xml ) Need Help??


in reply to Re^2: How to make Win32::OLE work on Cygwin (cpan -i -T Win32::OLE)
in thread How to make Win32::OLE work on Cygwin

Please, wrap the log in <code>...</code> tags to make it readable.

Running

look Win32::OLE

in the CPAN shell and replacing stricmp with strcasecmp in OLE.xs, then running

make Win32::OLE test Win32::OLE install Win32::OLE

back in the CPAN shell solved the problem for me.

لսႽ† ᥲᥒ⚪⟊Ⴙᘓᖇ Ꮅᘓᖇ⎱ Ⴙᥲ𝇋ƙᘓᖇ

Replies are listed 'Best First'.
Re^4: How to make Win32::OLE work on Cygwin (cpan -i -T Win32::OLE)
by bingos (Vicar) on Apr 30, 2015 at 11:53 UTC
Re^4: How to make Win32::OLE work on Cygwin (cpan -i -T Win32::OLE)
by gjoshi (Sexton) on Apr 30, 2015 at 12:16 UTC
    I tried to change OLE.XS file but I am getting following error while test. make goes fine.
    nolock_cpan> test Win32::OLE Running test for module 'Win32::OLE' Running make for J/JD/JDB/Win32-OLE-0.1712.tar.gz Has already been unwrapped into directory /home/c_gjoshi/.cpan/build +/Win32-OLE -0.1712-8xVrFX Has already been made Running make test PERL_DL_NONLAZY=1 /cygdrive/c/Utils/cygwin/bin/perl.exe "-MExtUtils::C +ommand::MM " "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/1_nls.t ....... ok t/2_variant.t ... ok t/3_ole.t ....... 2/58 OLE exception from "Microsoft Excel": Microsoft Excel cannot open or save any more documents because there i +s not enough available memory or disk space. To make more memory available, close workbooks or programs you no lon +ger 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. Use of uninitialized value $Type in concatenation (.) or string at t/3 +_ole.t lin e 132. Can't call method "Xyzzy" on an undefined value at t/3_ole.t line 151. t/3_ole.t ....... Dubious, test returned 2 (wstat 512, 0x200) Failed 55/58 subtests t/4_compat.t .... 1/5 Use of uninitialized value $bk in concatenation +(.) or str ing 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 ... skipped: Unicode::String module not installed t/6_event.t ..... skipped: C:\Utils\Cygwin\home\c_gjoshi\.cpan\build\W +in32-OLE-0 .1712-8xVrFX\test.xls doesn't exist! Please run test 3_ole.t first t/7_overload.t .. skipped: C:\Utils\Cygwin\home\c_gjoshi\.cpan\build\W +in32-OLE-0 .1712-8xVrFX\test.xls doesn't exist! Please run test 3_ole.t first Test Summary Report ------------------- t/3_ole.t (Wstat: 512 Tests: 6 Failed: 3) Failed tests: 3-4, 58 Non-zero exit status: 2 Parse errors: Tests out of sequence. Found (58) but expected (6) Bad plan. You planned 58 tests but ran 6. t/4_compat.t (Wstat: 65280 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 255 Parse errors: Bad plan. You planned 5 tests but ran 1. Files=7, Tests=47, 3 wallclock secs ( 0.03 usr 0.06 sys + 0.48 cusr + 1.27 csy s = 1.84 CPU) Result: FAIL Failed 2/7 test programs. 4/47 subtests failed. make: *** [test_dynamic] Error 255 JDB/Win32-OLE-0.1712.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, t +ry: reports JDB/Win32-OLE-0.1712.tar.gz Failed during this command: JDB/Win32-OLE-0.1712.tar.gz : make_test NO
Re^4: How to make Win32::OLE work on Cygwin (cpan -i -T Win32::OLE)
by Anonymous Monk on Oct 30, 2015 at 05:30 UTC

    Hello,

    I am running perl 5.14 and I am also having the same issue during Win32-OLE-0.1712 installation.

    I am unable to understand the solution. Could you please explain how to resolve this problem? Thank you.

    Issue:

    Running Mkbootstrap for Win32::OLE () chmod 644 "OLE.bs" g++ -c -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -ggdb -O2 -pipe -Wim +plicit-function-declaration -fdebug-prefix-map=/mnt/share/maint/perl. +x86/build=/usr/src/debug/perl-5.14.4-3 -fdebug-prefix-map=/mnt/share/ +maint/perl.x86/src/perl-5.14.4=/usr/src/debug/perl-5.14.4-3 -fwrapv - +fno-strict-aliasing -fstack-protector -DUSEIMPORTLIB -O3 -DVERSION= +\"0.1712\" -DXS_VERSION=\"0.1712\" "-I/usr/lib/perl5/5.14/i686-cygwi +n-threads-64int/CORE" OLE.cpp cc1plus: warning: command line option ‘-Wimplicit-function-declaration +’ is valid for C/ObjC but not for C++ OLE.xs: In function ‘BOOL IsLocalMachine(PerlInterpreter*, SV*)’: OLE.xs:482:85: error: ‘stricmp’ was not declared in this scope if (GetComputerNameA(szComputerName, &dwSize) && stricmp(pszName, + szComputerName) == 0) + ^ Makefile:376: recipe for target 'OLE.o' failed make: *** [OLE.o] Error 1
      error: ‘stricmp’ was not declared in this scope

      In OLE.xs, prior to building the module, change the one occurrence of stricmp to strcmp.

      That allows the module to compile and pass its tests - on my Cygwin, at least.

      Cheers,
      Rob

      I am unable to understand the solution. Could you please explain how to resolve this problem? Thank you.

      Ok

      edit OLE.xs

      replace "stricmp" with "strcasecmp"

      I hope that is clear

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1125266]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (3)
As of 2021-04-18 06:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?