Index: lib/Parrot/Configure/Step.pm
===================================================================
--- lib/Parrot/Configure/Step.pm	(revision 7883)
+++ lib/Parrot/Configure/Step.pm	(working copy)
@@ -421,8 +421,8 @@
 
 =item C<capture_output($command)>
 
-Executes the given command. The command's output and its return status is returned.
-B<STDERR> is redirected to F<test.out> during the execution.
+Executes the given command. The command's output (both stdout and stderr), and its return status is returned as a 3-tuple.
+B<STDERR> is redirected to F<test.err> during the execution, and deleted after the command's run.
 
 =cut
 
@@ -431,7 +431,7 @@
 
     # disable STDERR
     open OLDERR, ">&STDERR";
-    open STDERR, ">test.out";
+    open STDERR, ">test.err";
 
     my $output = `$command`;
     my $retval = ($? == -1) ? -1 : ($? >> 8);
@@ -440,7 +440,19 @@
     close STDERR;
     open STDERR, ">&OLDERR";
 
-    return ($output, $retval) if wantarray;
+    # slurp stderr
+    my $out_err;
+    {
+      local $/ = undef;
+      open IN, "<test.err";
+      $out_err = <IN>;
+      close IN;
+    }
+
+    # cleanup
+    unlink "test.err";
+
+    return ($output, $out_err, $retval) if wantarray;
     return $output;
 }
 
Index: config/auto/antlr.pl
===================================================================
--- config/auto/antlr.pl	(revision 7883)
+++ config/auto/antlr.pl	(working copy)
@@ -29,7 +29,8 @@
 @args = qw(verbose);
 
 sub runstep {
-    my $a = capture_output( 'antlr -h' ) || '';
+    my ($out, $err) = capture_output( 'antlr -h' );
+    my $a = defined $out ? $out.$err : '';
     my $has_antlr = ($a =~ m/ANTLR Parser Generator/) ? 1 : 0;
 
     Configure::Data->set(has_antlr => $has_antlr);
Index: config/auto/python.pl
===================================================================
--- config/auto/python.pl	(revision 7883)
+++ config/auto/python.pl	(working copy)
@@ -27,8 +27,9 @@
 @args = qw(verbose);
 
 sub runstep {
-    my $a = capture_output( 'python -V' ) || '';
-    my ($python, $major, $minor, $revision) = 
+    my ($out, $err) = capture_output( 'python -V' );
+    my $a = defined $out ? $out.$err : '';
+    my ($python, $major, $minor, $revision) =
         $a =~ m/(Python)\s+(\d+).(\d+)(?:.(\d+))?/;
     $revision = 0 unless defined $revision;
     my $has_python = $python ? 1 : 0;
