Skip Menu |

This queue is for tickets about the Devel-FindPerl CPAN distribution.

Report information
The Basics
Id: 92651
Status: new
Priority: 0/
Queue: Devel-FindPerl

People
Owner: Nobody in particular
Requestors: BULKDD [...] cpan.org
Cc:
AdminCc:

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



Subject: tests broken when using ActivePerl with a different version CC than interp built with
--------------------------------------------------------------- Show quoted text
cpan> install Devel::FindPerl
Running install for module 'Devel::FindPerl' Running make for L/LE/LEONT/Devel-FindPerl-0.012.tar.gz Prepending blib/arch and blib/lib of 30 build dirs to PERL5LIB; for 'get' Has already been unwrapped into directory C:\Perl64\cpan\build\Devel-FindPerl- 0.012-pWSkiJ Prepending blib/arch and blib/lib of 30 build dirs to PERL5LIB; for 'make' Has already been made Prepending blib/arch and blib/lib of 30 build dirs to PERL5LIB; for 'test' Running make test Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 Copyright (C) Microsoft Corporation. All rights reserved. C:\Perl64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, ' blib\lib', 'blib\arch')" t/*.t t/00-compile.t ............ ok t/10-basics.t ............. # Failed test 'Config of found perl equals current perl' # at t/10-basics.t line 20. t/10-basics.t ............. 1/? # got: 'summary of my perl5 (revision 5 version 14 subversion 2) configuration: # # platform: # osname=mswin32, osvers=5.2, archname=mswin32-x64-multi-thread # uname='' # config_args='undef' # hint=recommended, useposix=true, d_sigaction=undef # useithreads=define, usemultiplicity=define # useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef # use64bitint=define, use64bitall=undef, uselongdouble=undef # usemymalloc=n, bincompat5005=undef # compiler: # cc='cl', ccflags ='-nologo -gf -w3 -md -zi -dndebug -ox -gl -fp:precise -d win32 -d_console -dno_strict -dwin64 -dconservative -dperl_textmode_scripts -dus e_sitecustomize -dperl_implicit_context -dperl_implicit_sys -duse_perlio', # optimize='-md -zi -dndebug -ox -gl -fp:precise', # cppflags='-dwin32' # ccversion='15.0.30729', gccversion='', gccosandvers='' # intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 # d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 # ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, off_t='__int64', ls eeksize=8 # alignbytes=8, prototype=define # linker and libraries: # ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg -lib path:"c:\perl64\lib\core" -machine:amd64' # libpth=\lib # libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32 .lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_ 32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvc rt.lib # perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comd lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib b ufferoverflowu.lib msvcrt.lib # libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib # gnulibc_version='' # dynamic linking: # dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' # cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"c:\perl64\lib\core" -machine:amd64' # # ' # expected: 'summary of my perl5 (revision 5 version 14 subversion 2) config uration: # # platform: # osname=mswin32, osvers=5.2, archname=mswin32-x64-multi-thread # uname='' # config_args='undef' # hint=recommended, useposix=true, d_sigaction=undef # useithreads=define, usemultiplicity=define # useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef # use64bitint=define, use64bitall=undef, uselongdouble=undef # usemymalloc=n, bincompat5005=undef # compiler: # cc='cl', ccflags ='-nologo -gf -w3 -md -zi -dndebug -ox -gl -fp:precise -d win32 -d_console -dno_strict -dwin64 -dconservative -dperl_textmode_scripts -dus e_sitecustomize -dperl_implicit_context -dperl_implicit_sys -duse_perlio', # optimize='-md -zi -dndebug -ox -gl -fp:precise', # cppflags='-dwin32' # ccversion='14.00.40310.41', gccversion='', gccosandvers='' # intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 # d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 # ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, off_t='__int64', ls eeksize=8 # alignbytes=8, prototype=define # linker and libraries: # ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg -lib path:"c:\perl64\lib\core" -machine:amd64' # libpth=\lib # libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32 .lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_ 32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib buffe roverflowu.lib msvcrt.lib # perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comd lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib b ufferoverflowu.lib msvcrt.lib # libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib # gnulibc_version='' # dynamic linking: # dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' # cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpath:"c:\perl64\lib\core" -machine:amd64' # # ' # Looks like you failed 1 test of 1. t/10-basics.t ............. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/1 subtests t/11-tainted.t ............ Can't spawn "cmd.exe": No such file or directory at C:/Perl64/lib/IPC/Open3.pm line 409. t/11-tainted.t ............ skipped: Perl not in perlpath 'C:\Perl64\bin\perl.ex e' t/release-pod-coverage.t .. skipped: these tests are for release candidate testi ng t/release-pod-syntax.t .... skipped: these tests are for release candidate testi ng Test Summary Report ------------------- t/10-basics.t (Wstat: 256 Tests: 1 Failed: 1) Failed test: 1 Non-zero exit status: 1 Files=5, Tests=2, 18 wallclock secs ( 0.13 usr + 0.81 sys = 0.94 CPU) Result: FAIL Failed 1/5 test programs. 1/2 subtests failed. NMAKE : fatal error U1077: 'C:\Perl64\bin\perl.exe' : return code '0xff' Stop. LEONT/Devel-FindPerl-0.012.tar.gz c:\PROGRA~2\MICROS~1.0\VC\BIN\amd64\nmake.exe test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports LEONT/Devel-FindPerl-0.012.tar.gz Running make install make test had returned bad status, won't install without force Failed during this command: LEONT/Devel-FindPerl-0.012.tar.gz : make_test NO Show quoted text
cpan>
------------------------------------------------------------------ C:\Documents and Settings>perl -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=MSWin32, osvers=5.2, archname=MSWin32-x64-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -fp:precise -DWI N32 -D_CONSOLE -DNO_STRICT -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS -DUSE_ SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO', optimize='-MD -Zi -DNDEBUG -Ox -GL -fp:precise', cppflags='-DWIN32' ccversion='15.0.30729', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='__int64', ivsize=8, nvtype='double', nvsize=8, Off_t='__int64', lsee ksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf -ltcg -libpa th:"C:\Perl64\lib\CORE" -machine:AMD64' libpth=\lib libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.l ib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32 .lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt .lib perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg 32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws 2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib buf feroverflowU.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl514.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug -opt:ref,icf -l tcg -libpath:"C:\Perl64\lib\CORE" -machine:AMD64' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PL_OP_SLAB_ALLOC USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 1402 [295342] Built under MSWin32 Compiled at Oct 7 2011 15:19:36 @INC: C:/Perl64/site/lib C:/Perl64/lib . C:\Documents and Settings> ----------------------------------------------------------------------- On P5P perl, on Win32 VC builds, ccversion is baked in by the build process into config/heavy. Even if you change your Visual C version, ccversion remains the same. ActiveState considers this a bug, and has a file called /lib/ActivePerl/Config.pm. That contains this code which fixes this bug. ---------------------------------------------------------------------- if ($COMPILER_ENV{$key} && !$compiler_env_initialized++) { if ($^O eq "MSWin32" && !_gcc_requested() && _orig_conf("cc") eq "cl" && (my $cl = ActiveState::Path::find_prog("cl"))) { require Win32; my @version = Win32::GetFileVersion($cl); if (@version) { my $ccversion = join('.', @version[0..2]); _override("ccversion", $ccversion); # Remove bufferoverflowU.lib from $Config{libs} if this is 64-bit # Perl and cl.exe is not the Windows 2003 SP1 Platfrom SDK compiler if (_orig_conf("ptrsize") == 8 && $ccversion ne "14.0.40310") { my $libs = _orig_conf("libs"); $libs =~ s/bufferoverflowU\.lib//i; _override("libs", $libs); } } } --------------------------------------------------------------------------- Now your test fails.