Skip Menu |

This queue is for tickets about the PathTools CPAN distribution.

Report information
The Basics
Id: 8775
Status: resolved
Priority: 0/
Queue: PathTools

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in:
  • 3.01_01
  • 3.01_02
  • 3.01_03
Fixed in: 3.04



Subject: perl 5.6.x doesn't define HAS_GETCWD
perl 5.6.x doesn't define HAS_GETCWD, so Cwd fails to build with errors like reported in http://www.nntp.perl.org/group/perl.cpan.testers/170871 Since you define getcwd_sv #ifndef getcwd_sv, you should also define HAS_GETCWD If you do, you're faced with C:\PathTools-3.01_03>perl5.6.2 Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Cwd C:\PathTools-3.01_03>nmake test Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp lib/Cwd.xs blib\lib\Cwd.xs cp lib/.lds blib\lib\.lds cp lib/File/Spec/Win32.pm blib\lib\File\Spec\Win32.pm cp lib/Cwd.c blib\lib\Cwd.c cp lib/File/Spec/Cygwin.pm blib\lib\File\Spec\Cygwin.pm cp lib/Cwd.obj blib\lib\Cwd.obj cp lib/Cwd.def blib\lib\Cwd.def cp lib/File/Spec/Mac.pm blib\lib\File\Spec\Mac.pm cp lib/File/Spec/OS2.pm blib\lib\File\Spec\OS2.pm cp lib/Cwd.ccs blib\lib\Cwd.ccs cp lib/Cwd.bs blib\lib\Cwd.bs cp lib/File/Spec/Unix.pm blib\lib\File\Spec\Unix.pm cp lib/ppport.h blib\lib\ppport.h cp lib/File/Spec/Epoc.pm blib\lib\File\Spec\Epoc.pm cp lib/File/Spec.pm blib\lib\File\Spec.pm cp Cwd.pm blib\lib\Cwd.pm cp lib/File/Spec/Functions.pm blib\lib\File\Spec\Functions.pm cp lib/File/Spec/VMS.pm blib\lib\File\Spec\VMS.pm C:\Perl\bin\perl5.6.2.exe C:\Perl\lib\ExtUtils/xsubpp -typemap C:\Perl\lib\ExtUtils\typemap Cwd.xs > Cwd .xsc && C:\Perl\bin\perl5.6.2.exe -MExtUtils::Command -e mv Cwd.xsc Cwd.c cl -c -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_R EADFIX -O1 -MD -DNDEBUG -DVERSION=\"3.01_03\" -DXS_VERSION=\"3.01_03\" "-IC:\Perl\lib\CORE" -DHAS_GETCWD Cwd.c Cwd.c Running Mkbootstrap for Cwd () C:\Perl\bin\perl5.6.2.exe -MExtUtils::Command -e chmod 644 Cwd.bs C:\Perl\bin\perl5.6.2.exe -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"Cwd\", 'DLBASE' => 'Cwd', 'DL_FUNCS' => { }, 'FUNCLIST ' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\Cwd\Cwd.dll -dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86 Cwd.obj C:\d ev\perls\v5.6.2\lib\CORE\perl56.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleau t32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib -def:Cwd.def Creating library blib\arch\auto\Cwd\Cwd.lib and object blib\arch\auto\Cwd\Cwd.exp C:\Perl\bin\perl5.6.2.exe -MExtUtils::Command -e chmod 755 blib\arch\auto\Cwd\Cwd.dll C:\Perl\bin\perl5.6.2.exe -MExtUtils::Command -e cp Cwd.bs blib\arch\auto\Cwd\Cwd.bs C:\Perl\bin\perl5.6.2.exe -MExtUtils::Command -e chmod 644 blib\arch\auto\Cwd\Cwd.bs C:\Perl\bin\perl5.6.2.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t\crossplatform.t t\cwd.t t\Fu nctions.t t\rel2abs2rel.t t\Spec.t t\taint.t t\win32.t t\crossplatform....ok 7/50 skipped: Can't load File::Spec::VMS t\cwd..............Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 69 3. t\cwd..............ok 18/25 t\cwd..............NOK 19# Failed test (t\cwd.t at line 145) # got: 'C:\PathTools-3.01_03/t' # expected: 'C:\PathTools-3.01_03\t' t\cwd..............ok 25/25# Looks like you failed 1 test of 25. t\cwd..............dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 19 Failed 1/25 tests, 96.00% okay (less 2 skipped tests: 22 okay, 88.00%) t\Functions........ok t\rel2abs2rel......ok 3/5Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm l ine 693. t\rel2abs2rel......ok t\Spec.............Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 69 3. t\Spec.............ok 83/467 skipped: various reasons t\taint............Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 69 3. t\taint............NOK 2# Failed test (t\taint.t at line 31) t\taint............NOK 4# Failed test (t\taint.t at line 31) t\taint............NOK 6# Failed test (t\taint.t at line 31) t\taint............NOK 8# Failed test (t\taint.t at line 31) t\taint............NOK 10# Failed test (t\taint.t at line 31) t\taint............NOK 12# Failed test (t\taint.t at line 31) t\taint............NOK 14# Failed test (t\taint.t at line 31) t\taint............NOK 16# Failed test (t\taint.t at line 31) # Looks like you failed 8 tests of 16. t\taint............dubious Test returned status 8 (wstat 2048, 0x800) DIED. FAILED tests 2, 4, 6, 8, 10, 12, 14, 16 Failed 8/16 tests, 50.00% okay t\win32............Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 69 3. t\win32............ok Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t\cwd.t 1 256 25 1 4.00% 19 t\taint.t 8 2048 16 8 50.00% 2 4 6 8 10 12 14 16 92 subtests skipped. Failed 2/7 test scripts, 71.43% okay. 9/568 subtests failed, 98.42% okay. NMAKE : fatal error U1077: 'C:\Perl\bin\perl5.6.2.exe' : return code '0xff' Stop. C:\PathTools-3.01_03>nmake test TEST_VERBOSE=1 TEST_FILES="t\cwd.t t\taint.t" Microsoft (R) Program Maintenance Utility Version 6.00.9782.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. C:\Perl\bin\perl5.6.2.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t\cwd.t t\taint.t t\cwd......Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 693. 1..25 ok 1 - main->can(...) ok 2 - chdir() not exported by default ok 3 - nor abs_path() ok 4 - nor fast_abs_path() # native pwd = 'C:\WINDOWS\system32\cmd.exe /c cd' ok 5 - cwd() ok 6 - getcwd() ok 7 - fastcwd() ok 8 - fastgetcwd() ok 9 ok 10 - cwd() ok 11 ok 12 - getcwd() ok 13 ok 14 - fastcwd() ok 15 ok 16 - fastgetcwd() ok 17 - Cwd::chdir() updates $ENV{PWD} #C:\PathTools-3.01_03\t\_ptrslt_\_path_\_to_\_a_ #C:\PathTools-3.01_03\t\_ptrslt_\_path_\_to_ #C:\PathTools-3.01_03\t\_ptrslt_\_path_ #C:\PathTools-3.01_03\t\_ptrslt_ #C:\PathTools-3.01_03\t ok 18 not ok 19 # Failed test (t\cwd.t at line 145) # got: 'C:\PathTools-3.01_03/t' # expected: 'C:\PathTools-3.01_03\t' ok 20 # skip no symlinks on this platform ok 21 # skip no symlinks on this platform ok 22 - abs_path() can be invoked on a file ok 23 - fast_abs_path() can be invoked on a file ok 24 - abs_path() can be invoked on a file # Looks like you failed 1 test of 25. ok 25 - fast_abs_path() can be invoked on a file dubious Test returned status 1 (wstat 256, 0x100) DIED. FAILED test 19 Failed 1/25 tests, 96.00% okay (less 2 skipped tests: 22 okay, 88.00%) t\taint....Prototype mismatch: sub Cwd::abs_path (;$) vs none at C:\PathTools-3.01_03\blib\lib/Cwd.pm line 693. 1..16 ok 1 - getcwd() should not explode under taint mode not ok 2 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 3 - cwd() should not explode under taint mode not ok 4 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 5 - fastcwd() should not explode under taint mode not ok 6 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 7 - fastgetcwd() should not explode under taint mode not ok 8 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 9 - abs_path() should not explode under taint mode not ok 10 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 11 - fast_abs_path() should not explode under taint mode not ok 12 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 13 - realpath() should not explode under taint mode not ok 14 - its return value should be tainted # Failed test (t\taint.t at line 31) ok 15 - fast_realpath() should not explode under taint mode not ok 16 - its return value should be tainted # Failed test (t\taint.t at line 31) # Looks like you failed 8 tests of 16. dubious Test returned status 8 (wstat 2048, 0x800) DIED. FAILED tests 2, 4, 6, 8, 10, 12, 14, 16 Failed 8/16 tests, 50.00% okay Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t\cwd.t 1 256 25 1 4.00% 19 t\taint.t 8 2048 16 8 50.00% 2 4 6 8 10 12 14 16 2 subtests skipped. Failed 2/2 test scripts, 0.00% okay. 9/41 subtests failed, 78.05% okay. NMAKE : fatal error U1077: 'C:\Perl\bin\perl5.6.2.exe' : return code '0x2' Stop. C:\PathTools-3.01_03> C:\PathTools-3.01_03>perl5.6.2 -V Summary of my perl5 (revision 5 version 6 subversion 2) 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=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_M SVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', 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, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth=C:\PROGRA~1\MIAF9D~1\VC98\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uui d.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine: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 27 2004 07:58:39 @INC: C:/Perl/lib C:/Perl/site/lib . C:\PathTools-3.01_03>
Still broken in PathTools-3.02 To fix, just need to #define HAS_GETCWD
From: Ken Williams <ken [...] mathforum.org>
Subject: Re: [cpan #8775] perl 5.6.x doesn't define HAS_GETCWD
Date: Mon, 10 Jan 2005 11:18:40 -0600
To: bug-PathTools [...] rt.cpan.org
RT-Send-Cc:
I downloaded and installed perl5.6.2 on OS X, and it seems to build & test PathTools 3.02 just fine - is it possible this error is coming from somewhere else? Or does perl5.6.2 sometimes define HAS_GETCWD and sometimes not? -Ken
[ken@mathforum.org - Mon Jan 10 12:41:02 2005]: Show quoted text
> > I downloaded and installed perl5.6.2 on OS X, and it seems to build & > test PathTools 3.02 just fine - is it possible this error is coming > from somewhere else? Or does perl5.6.2 sometimes define HAS_GETCWD and > sometimes not? > > -Ken >
Hmm, it appears to be a bug in the win32 config files. HAS_GETCWD should be defined