Re: ponie can't execute itself in ``... sometimes.

Skip to first unread message

Nicholas Clark

Jul 26, 2005, 6:24:02 AM7/26/05
to Michael G Schwern,,
On Sat, Jul 23, 2005 at 11:46:19PM -0700, Michael G Schwern wrote:
> MakeMaker's find_perl() function fails to find ponie. The reason is its
> attempt to run ponie fails. The run is simply:
> my $check = `$path_to_ponie -le "require 5.0; print qq{VER_OK}"`
> when called inside find_perl nothing is returned. But this appears to happen
> intermitantly. To reproduce, download a copy of the ExtUtils-MakeMaker
> distribution. Run "ponie Makefile.PL verbose verbose". You'll see among
> the output:
> Checking /path/to/your/bin/ponie
> Executing /path/to/your/bin/ponie
> Result: ''
> $? >> 8 at that point is 66 (?!).
> This appears to only happen in the MakeMaker distribution. Makefile.PLs for
> other distributions work fine.

This seems to be a parrot bug of some sort. MM_Unix is running that test with
STDERR closed. Parrot fails to initialise if stderr is closed:

$ ./parrot examples/assembly/hello.pasm
Hello World
$ ./parrot examples/assembly/hello.pasm 2>&-
$ echo $?

( 2>&- closes stderr )

Exit code (again) is 66.

I don't know why parrot's implementation is currently like this, or what the
correct fix should be.

Nicholas Clark

Reply all
Reply to author
0 new messages