Folks, so there was this YAPC::EU thingie at Birmingham, UK, where someone (I think it was vaxman.de) came up with the idea of trying to build Parrot on VMS. As the only VMS system in reach was the Simh-based VMS VAX 7.3 (with DECset) on my WinXP notebook, I started with a build of Perl 5.8.8. This got me totally occupied for the two days remaining, so I didn't even got the Parrot build started...
Here are my findings:
After defining a rooted logical to be able to unpack to dev:[000000],
and fixing two bugs in CONFIGURE.COM and VMS.C (how could this kit ever
build, even on ALpha?), the build went smoothly. MMS TEST choked on 24
tests (more on that later). MMS INSTALL would deep recurse until I created
PERL_ROOT:[000000] by hand. After that:
$ perl "-V"
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
Platform:
osname=VMS, osvers=V7.3, archname=VMS_VAX
uname='VMS simvax V7.3 VAXserver 3900 Series'
config_args='-des'
hint=none, useposix=false, d_sigaction=define
usethreads=undef use5005threads=undef useithreads=undef
usemultiplicity=undef
useperlio=define d_sfio=undef uselargefiles=undef usesocks=undef
use64bitint=undef use64bitall=undef uselongdouble=undef
usemymalloc=undef, bincompat5005=undef
Compiler:
cc='CC/DECC', ccflags
='/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=.obj ',
optimize='/NoList',
cppflags='undef'
ccversion='60090001', gccversion='', gccosandvers='undef'
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=0, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='int', lseeksize=4
alignbytes=8, prototype=define
Linker and Libraries:
ld='Link/nodebug', ldflags ='/NoTrace/NoMap'
libpth=/sys$share /sys$library
libs=
perllibs=
libc=(DECCRTL), so=exe, useshrplib=undef, libperl=undef
gnulibc_version='undef'
Dynamic Linking:
dlsrc=dl_vms.c, dlext=exe, d_dlsymun=undef, ccdlflags=''
cccdlflags='', lddlflags='/Share'
Characteristics of this PERLSHR image:
Compile-time options: DEBUGGING PERL_MALLOC_WRAP USE_PERLIO
Built under VMS
Compiled at Aug 30 2006 21:09:18
%ENV:
PERLSHR="PERL_ROOT:[000000]PERLSHR.EXE"
PERL_ROOT="SIMVAX$DUA0:[TEMP.PERL-5_8_8_ROOT.]"
@INC:
perl_root:[lib.VMS_VAX.5_8_8]
perl_root:[lib]
perl_root:[lib.site_perl.VMS_VAX]
perl_root:[lib.site_perl]
/perl_root/lib/site_perl
.
$
Wooohooo! Great!
Regarding the test failures (my comments in [..] - I really didn't look too
deep (yet)):
t/io/fs...................................FAILED at test 41
not ok 41 - rename on directories
[ok if run directly?!]
t/op/arith................................FAILED--unexpected output at test 144
145 # SKIP -- the IEEE infinity model is unavailable in this configuration.
[with that output, regarded as a failure, not as a skipped test]
t/op/local................................FAILED at test 60
not ok 60
[the comment says:
"local() should preserve the existenceness of tied hash elements ...
now try the same for %SIG"]
t/op/pack.................................FAILED--unexpected output at test 0
[perl crash with]
%SYSTEM-F-FLTOVF_F, arithmetic fault, floating overflow at PC=0016CA0D,
PSL=03C00000
t/op/read.................................FAILED at test 1
not ok 1
not ok 2
[perl seems to not be able to seek/read read.t itself; the remaining 2561
tests pass]
t/op/stat.................................FAILED at test 33
not ok 33 - -o
["$tmpfile not owned by effective uid"?!; the remaining 52 tests pass]
ext/Devel/PPPort/t/ppphtest...............FAILED--unexpected output at test 0
find_perl: cannot find simvax$dua0:[temp.][perl-5_8_8.t]perl.;1.exe \
from simvax$dua0:[temp.][perl-5_8_8.t]perl.;1 at
[-.ext.devel.ppport.t]ppphtest.t line 196.
[BUG in [-.ext.devel.ppport.parts.inc]ppphtest.; once fixed, all tests pass]
ext/Encode/t/enc_data.....................FAILED at test 2
not ok 2
[encoding euc-jp; probably has something to do with unpacking .tar.gz on
Windows &
zipping it, then unzipping on VMS]
ext/List/Util/t/p_tainted.................FAILED--no leader found
no leader found
[BUG; needs VMS specific treatment, or unixify; once fixed, all tests pass]
ext/List/Util/t/weak......................FAILED--unexpected output at test 7
[Verbose test output:]
# WKED
ok 7
# VALS: HASH
Dest=HASH(0x3b5c8c)
[test at this point declared a failure]
[Run standalone passes all tests; output:]
# WKED
ok 7
# VALS: HASH Dest=HASH(0x3b5040) SELF REF(0x3b558c) Y REF(0x39c554)
FLAG: REF(0x3b5010)
# VPRINT
ext/Time/HiRes/t/HiRes....................FAILED at test 17
ok 17 # Skip: your select() may get restarted by your SIGALRM (or just retry
test)
[all tests pass if run standalone]
lib/Config................................FAILED at test 86
not ok 86 - sig_num_init size
[could this have to do with the patch to Configure.com?]
lib/ExtUtils/t/Constant...................FAILED at test 23
not ok 23 # MMS test failed: 1024
lib/ExtUtils/t/FIRST_MAKEFILE.............FAILED at test 4
not ok 4 - FIRST_MAKEFILE honored
lib/ExtUtils/t/PL_FILES...................FAILED at test 3
[run standalone this yields:]
not ok 3
# Failed test in [-.lib.extutils.t]pl_files.t at line 38.
# got: '1024'
# expected: '0'
# cp bar_pm.pl [.blib.lib.pl_files]bar_pm.pl
# cp single.pl [.blib.lib.pl_files]single.pl
# cp [.lib.pl]foo.pm [.blib.lib.pl]foo.pm
# cp multi.pl [.blib.lib.pl_files]multi.pl
# MCR [--]perl.exe "-I[--.lib]" "-I[--.lib]" "-I[.blib.arch]" "-I[.blib.lib]"
Bar_pm.PL [.[.blib.lib].PL]Bar.pm
# file specification syntax error at bar_pm.pl line 12.
# %RMS-F-SYN, file specification syntax error
# %MMS-F-ABORT, For target [.[.BLIB.LIB].PL]BAR.PM, CLI returned abort
status: %X000186D4.
# -RMS-F-SYN, file specification syntax error
lib/Math/BigInt/t/bare_mbi................FAILED at test 2829
[run standalone this yields:]
not ok 2829
# Test 2829 got: "1701411834604692e+23" (../lib/math/bigint/t/bigintpm.inc at
line 433)
# Expected: "1e+129"
lib/Math/BigInt/t/bigintpm................FAILED at test 2829
[same as BigInt/t/bare_mbi test failure]
lib/Math/BigInt/t/bigroot.................FAILED--unexpected output at test 0
# Try: Math::BigFloat 2->bpow(120)->broot(8,undef) == 32768:
%SYSTEM-F-FLTOVF_F, arithmetic fault, floating overflow at PC=001C6444,
PSL=03C00000
lib/Math/BigInt/t/mbi_rand................FAILED--unexpected output at test 28
ok 28
[???]
lib/Math/BigInt/t/sub_mbi.................FAILED at test 2829
[same as BigInt/t/bare_mbi test failure]
lib/Test/Harness/t/test-harness...........FAILED--unexpected output at test 14
ok 14 - bignum - Got proper warnings
Out of memory!
lib/Test/Simple/t/is_deeply_fail..........FAILED at test 73
not ok 73 - right diagnostic
# Failed test ' right diagnostic'
# in [-.lib.test.simple.t]is_deeply_fail.t at line 359.
# '# Failed test in [-.lib.test.simple.t]is_deeply_fail.t
at line 357.
# # Structures begin differing at:
# # $got = GLOB(0x38b2c4)
# # $expected = GLOB(0x3835cc)
# '
# doesn't match '/# Failed test in
[-.lib.test.simple.t]is_deeply_fail.t at line 357.
# # Structures begin differing at:
# # \$got = GLOB\(0x[0-9a-f]+\)
# # \$expected = GLOB\(0x[0-9a-f]+\)
# /'
lib/Unicode/UCD...........................FAILED at test 1
not ok 1 - LATIN CAPITAL LETTER A
# Failed test 'LATIN CAPITAL LETTER A'
# in [-.lib.unicode]ucd.t at line 29.
# got: undef
# expected: '0041'
[...lots of test failures...]
lib/vmsish................................FAILED at test 22
ok 22 - (time) UTC: 1157266715 VMS: 1157273915
[???]
Now I've begun to tweak Parrot (I got the latest dist right off Leo Toetsch's
notebook). Looks quite good so far - not too many patches required.
cu,
Martin
--
| Martin Vorlaender | OpenVMS rules!
Microsoft isn't the Borg: | work: [EMAIL PROTECTED]
the Borg have proper | http://www.pdv-systeme.de/users/martinv/
networking. | home: [EMAIL PROTECTED]
perl-5.8.8-vms.patch
Description: perl-5.8.8-vms.patch
