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>