Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the ExtUtils-ParseXS CPAN distribution.

Report information
The Basics
Id: 2873
Status: resolved
Priority: 0/
Queue: ExtUtils-ParseXS

People
Owner: Nobody in particular
Requestors: Ronald.hill [...] plms-eds.com
Cc:
AdminCc:

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



Subject: nmake test fails on Win32 perl version 5.8.0
Here is the result of the nmake test for this module! F:\perl_modules\ExtUtils-ParseXS-2.02>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. F:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch' )" t\basic.t t\basic....NOK 6# Failed test 6 in t\basic.t at line 42 # t\basic.t line 42 is: ok do_link( $module ); t\basic....NOK 7# Test 7 got: 'Can't locate loadable object for module XSTest in @INC (@INC contains : F:\perl_modules\ExtUtils-ParseXS-2.02\blib\lib F:\perl_modules\ExtUtils-ParseXS-2.02\blib\arch c:\ temp F:/perl/lib F:/perl/site/lib . F:/perl/lib F:/perl/site/lib .) at t\basic.t line 44 Compilation failed in require at t\basic.t line 44, <File0000> line 28. ' (t\basic.t at line 45) # Expected: '' # t\basic.t line 45 is: ok $@, ''; Can't locate auto/XSTest/is_even.al in @INC (@INC contains: F:\perl_modules\ExtUtils-ParseXS-2.02\bl ib\lib F:\perl_modules\ExtUtils-ParseXS-2.02\blib\arch c:\temp F:/perl/lib F:/perl/site/lib . F:/per l/lib F:/perl/site/lib .) at t\basic.t line 46 t\basic....dubious Test returned status 2 (wstat 512, 0x200) DIED. FAILED tests 6-9 Failed 4/9 tests, 55.56% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t\basic.t 2 512 9 4 44.44% 6-9 Failed 1/1 test scripts, 0.00% okay. 4/9 subtests failed, 55.56% okay. NMAKE : fatal error U1077: 'F:\perl\bin\perl.exe' : return code '0x2' Stop. Here is the perl version it fails for: F:\perl_modules\ExtUtils-ParseXS-2.02>perl -V Summary of my perl5 (revision 5 version 8 subversion 0) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FC RYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX', optimize='-MD -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth=\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib sh ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib o dbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.li b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.l ib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -ma chine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Built under MSWin32 Compiled at Jul 21 2002 17:51:14 %ENV: PERL5LIB="c:\temp" PERLDB_OPTS="RemotePort=127.0.0.1:2000" @INC: c:\temp F:/perl/lib F:/perl/site/lib . F:\perl_modules\ExtUtils-ParseXS-2.02> This is strange, this same module installes under perl version 5.6.1 I hope this helps Ron Hill
Thanks for the report, Ron. Unfortunately I'm not sure what the problem is, since I have no Win32 to test against. If you can't get any further with it, I wonder whether you could run the 'xsubpp' that comes with perl 5.8 to see how the result differs from what ParseXS is creating. Something like: perl \perl\lib\ExtUtils\xsubpp t\XSTest.xs > core.txt nmake test diff -u core.txt t\XSTest.c (do you have a 'diff' on your system?) -Ken
[KWILLIAMS - Mon Jul 7 14:33:27 2003]: Show quoted text
> Thanks for the report, Ron. Unfortunately I'm not sure what the > problem is, since I have > no Win32 to test against. If you can't get any further with it, I > wonder whether you could > run the 'xsubpp' that comes with perl 5.8 to see how the result > differs from what > ParseXS is creating. Something like: > > perl \perl\lib\ExtUtils\xsubpp t\XSTest.xs > core.txt > nmake test > diff -u core.txt t\XSTest.c > > (do you have a 'diff' on your system?) > -Ken
Hi Ken, I have done what you have requested : Hre is the results F:\perl_modules\ExtUtils-ParseXS-2.02>perl \perl\lib\ExtUtils\xsubpp t\XSTest.xs Error: 'int' not in typemap in XSTest.xs, line 10 Error: 'int' not in typemap in XSTest.xs, line 14 Please specify prototyping behavior for XSTest.xs (see perlxs manual) F:\perl_modules\ExtUtils-ParseXS-2.02>diff -u core.txt t\XSTest.c --- core.txt Mon Jul 07 11:44:08 2003 +++ t\XSTest.c Mon Jul 07 11:45:03 2003 @@ -1,8 +1,8 @@ /* - * This file was generated automatically by xsubpp version 1.9508 from the + * This file was generated automatically by ExtUtils::ParseXS version 2.02 from * contents of XSTest.xs. Do not edit this file, edit XSTest.xs instead. * - * ANY CHANGES MADE HERE WILL BE LOST! + * ANY CHANGES MADE HERE WILL BE LOST! * */ @@ -12,7 +12,11 @@ #include "XSUB.h" -#line 16 "XSTest.c" +#ifndef PERL_UNUSED_VAR +# define PERL_UNUSED_VAR(var) if (0) var = var +#endif + +#line 20 "XSTest.c" XS(XS_XSTest_is_even); /* prototype to pass -Wmissing-prototypes */ XS(XS_XSTest_is_even) { @@ -20,10 +24,13 @@ if (items != 1) Perl_croak(aTHX_ "Usage: XSTest::is_even(input)"); { - int int RETVAL; -#line 12 "XSTest.xs" + int input = (int)SvIV(ST(0)); + int RETVAL; + dXSTARG; +#line 26 "XSTest.xs" RETVAL = (input % 2 == 0); -#line 27 "XSTest.c" +#line 33 "XSTest.c" + XSprePUSH; PUSHi((IV)RETVAL); } XSRETURN(1); } F:\perl_modules\ExtUtils-ParseXS-2.02> I hope this helps!! Ron Hill
From: ronald.hill [...] plms-eds.com
[guest - Mon Jul 7 15:01:13 2003]: Show quoted text
> [KWILLIAMS - Mon Jul 7 14:33:27 2003]: >
> > Thanks for the report, Ron. Unfortunately I'm not sure what the > > problem is, since I have > > no Win32 to test against. If you can't get any further with it, I > > wonder whether you could > > run the 'xsubpp' that comes with perl 5.8 to see how the result > > differs from what > > ParseXS is creating. Something like: > > > > perl \perl\lib\ExtUtils\xsubpp t\XSTest.xs > core.txt > > nmake test > > diff -u core.txt t\XSTest.c > > > > (do you have a 'diff' on your system?) > > -Ken
> > > Hi Ken, > > I have done what you have requested : Hre is the results > > F:\perl_modules\ExtUtils-ParseXS-2.02>perl \perl\lib\ExtUtils\xsubpp > t\XSTest.xs > Error: 'int' not in typemap in XSTest.xs, line 10 > Error: 'int' not in typemap in XSTest.xs, line 14 > Please specify prototyping behavior for XSTest.xs (see perlxs manual) > > F:\perl_modules\ExtUtils-ParseXS-2.02>diff -u core.txt t\XSTest.c > --- core.txt Mon Jul 07 11:44:08 2003 > +++ t\XSTest.c Mon Jul 07 11:45:03 2003 > @@ -1,8 +1,8 @@ > /* > - * This file was generated automatically by xsubpp version 1.9508 > from the > + * This file was generated automatically by ExtUtils::ParseXS version > 2.02 from > * contents of XSTest.xs. Do not edit this file, edit XSTest.xs > instead. > * > - * ANY CHANGES MADE HERE WILL BE LOST! > + * ANY CHANGES MADE HERE WILL BE LOST! > * > */ > > @@ -12,7 +12,11 @@ > #include "XSUB.h" > > > -#line 16 "XSTest.c" > +#ifndef PERL_UNUSED_VAR > +# define PERL_UNUSED_VAR(var) if (0) var = var > +#endif > + > +#line 20 "XSTest.c" > XS(XS_XSTest_is_even); /* prototype to pass -Wmissing-prototypes */ > XS(XS_XSTest_is_even) > { > @@ -20,10 +24,13 @@ > if (items != 1) > Perl_croak(aTHX_ "Usage: XSTest::is_even(input)"); > { > - int int RETVAL; > -#line 12 "XSTest.xs" > + int input = (int)SvIV(ST(0)); > + int RETVAL; > + dXSTARG; > +#line 26 "XSTest.xs" > RETVAL = (input % 2 == 0); > -#line 27 "XSTest.c" > +#line 33 "XSTest.c" > + XSprePUSH; PUSHi((IV)RETVAL); > } > XSRETURN(1); > } > > F:\perl_modules\ExtUtils-ParseXS-2.02> > > I hope this helps!! > > Ron Hill
Hi Ken, I need to update you on the status of this :) I have downloaded/compiled/installed the perl 5.8.1 RC1 and reran the tests and all pass :) here are the results: F:\perl_modules\ExtUtils-ParseXS-2.02>perl makefile.pl Checking if your kit is complete... Looks good Writing Makefile for ExtUtils::ParseXS F:\perl_modules\ExtUtils-ParseXS-2.02>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp lib/ExtUtils/ParseXS.pm blib\lib\ExtUtils\ParseXS.pm cp lib/ExtUtils/xsubpp blib\lib\ExtUtils\xsubpp F:\perl_modules\ExtUtils-ParseXS-2.02>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. F:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch' )" t\basic.t t\basic....ok All tests successful. Files=1, Tests=9, 0 wallclock secs ( 0.00 cusr + 0.00 csys = 0.00 CPU) F:\perl_modules\ExtUtils-ParseXS-2.02> I then reverified the previous results and it fails for perl versions 5.6.1 and 5.8.0. It looks like perl 5.8.1 will fix this problem :) I don't know how you want to handle this for the older releases. I hope this helps Ron Hill
[guest - Fri Jul 11 10:03:00 2003]: Show quoted text
> I have downloaded/compiled/installed the perl 5.8.1 RC1 and reran the > tests and all pass :) >
[...] Show quoted text
> > I then reverified the previous results and it fails for perl versions > 5.6.1 and 5.8.0.
Hi Ron, I wonder whether this problem still exists for ExtUtils::ParseXS 2.08, which uses ExtUtils::CBuilder to test itself. I'm going to close this bug ticket on the assumption that it has, but let me know if I should reopen it. -Ken