# New Ticket Created by Greg Bacon # Please include the string: [perl #36540] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36540 >
Using the attached patch, which contains Nick Glencross's change to dynclasses_pl.in modified by a suggestion from Matt Diephouse and also cargoculting H.Merijn Brand's voodoo to work around a problem that caused Test::Harness to empty @INC, I can at least build and scratch through make test. The dynclasses tests were pretty unhappy, all seeming to stem from "Couldn't load '/tmp/parrot-0.2.2/runtime/parrot/dynext/python_group.dll': Permission denied". Summary below: Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------------- t/dynclass/foo.t 8 2048 9 8 88.89% 1-5 7-9 t/dynclass/gdbmhash.t 13 3328 13 13 100.00% 1-13 t/dynclass/pybuiltin.t 5 1280 6 5 83.33% 1-2 4-6 t/dynclass/pyclass.t 6 1536 6 6 100.00% 1-6 t/dynclass/pycomplex.t 4 1024 4 4 100.00% 1-4 t/dynclass/pyfunc.t 4 1024 4 4 100.00% 1-4 t/dynclass/pyint.t 25 6400 26 25 96.15% 1-25 t/op/trans.t 1 256 19 1 5.26% 13 2 tests and 80 subtests skipped. Failed 8/162 test scripts, 95.06% okay. 66/2715 subtests failed, 97.57% okay. make: *** [test] Error 14 Below is the output from t/op/trans.t: Failed test (t/op/trans.t at line 307) got: 'ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 t/op/trans.....................NOK 13# ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 not 0.000000ok 17 ' expected: 'ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ' Enjoy, Greg
diff -ru dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in --- dist-parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-06-06 06:57:42.000000000 -0500 +++ parrot-0.2.2/config/gen/makefiles/dynclasses_pl.in 2005-07-13 17:37:16.851412400 -0500 @@ -46,6 +46,12 @@ $LD_LOAD_FLAGS =~ s/(-def:)/$extraLibs $1..\\/; } +# Here comes some stuff for Cygwin +if ($^O eq 'cygwin') { + $LD_LOAD_FLAGS .= ' ${build_dir}/src/parrot_config.o'; + $LIBPARROT = q[-L${build_dir}/blib/lib -lparrot]; +} + # PMC2C Config our $PMC2C = "$PERL $PATHQUOTE" . q[${build_dir}${slash}build_tools${slash}pmc2c.pl] . $PATHQUOTE; @@ -72,9 +78,9 @@ } return - "$LD $LDFLAGS $LD_LOAD_FLAGS $liblist $PATHQUOTE$LIBPARROT$PATHQUOTE ". - "${ld_out}" . $target . " " . - join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources); + "$LD $LDFLAGS $LD_LOAD_FLAGS -o $target " . + join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) . + " $PATHQUOTE$LIBPARROT$PATHQUOTE $liblist"; } our $NOW = time(); diff -ru dist-parrot-0.2.2/t/harness parrot-0.2.2/t/harness --- dist-parrot-0.2.2/t/harness 2005-04-11 04:49:42.000000000 -0500 +++ parrot-0.2.2/t/harness 2005-07-13 17:31:04.319737700 -0500 @@ -80,6 +80,9 @@ use Getopt::Std; use Test::Harness qw(runtests); +my @_INC = map { qq{"-I$_"} } @INC; +$Test::Harness::Switches = "@_INC"; + # handle the long options $ENV{RUNNING_MAKE_TEST} = grep { $_ eq '--running-make-test' } @ARGV;