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 $? 66 ( 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