On Tue, 9 Sep 2008, James Keenan via RT wrote: > On Tue Sep 09 15:14:36 2008, [EMAIL PROTECTED] wrote: > > > > > Generally agreed. In this case, hold this ticket for the I/O milestone, > > which is next (sometime in the next few days). I've added it to the I/O > > tasklist. > > > > In the meantime, let's get Andy's patch applied (if it isn't already). > > > > I extracted the attached patch from email text and applied it in r30946. > All > tests pass, but note that I still don't get correct detection of AIO > capabilities on Darwin/PPC (OS X 10.4). The message I get with > verbose-step=auto::aio is in the second attachment.
> auto::aio - Does your platform support AIO... > /usr/bin/gcc [-options ... ] -I./include -c test_19186.c > c++ -undefined dynamic_lookup test_19186.o -o test_19186 -lm -lrt > /usr/bin/ld: can't locate file for: -lrt That's another easy one. The test assumes that all platforms have -lrt and that all platforms have to link with it for this test. Your system clearly doesn't have -lrt, so the link fails. If you just delete the line that adds in -lrt, I'll bet the test succeeds. Generally, Configure shouldn't be unconditionally adding libraries. A better idiom is probably to try without, and then try with only if necessary. Something like this: diff -r -u parrot-svn/config/auto/aio.pm parrot-cc/config/auto/aio.pm --- parrot-svn/config/auto/aio.pm 2008-09-10 11:06:19.000000000 -0400 +++ parrot-cc/config/auto/aio.pm 2008-09-10 11:53:31.000000000 -0400 @@ -45,9 +45,14 @@ my $verbose = $conf->options->get('verbose'); my $libs = $conf->data->get('libs'); - $conf->data->add( ' ', libs => '-lrt' ); - my $errormsg = _first_probe_for_aio($conf, $verbose); + if ($errormsg) { + # Linux, at least, needs to add -lrt to $libs. + print " (Trying again with -lrt) " if $verbose; + $conf->data->add( ' ', libs => '-lrt' ); + $errormsg = _first_probe_for_aio($conf, $verbose); + } + if ( ! $errormsg ) { my $test = $conf->cc_run(); -- Andy Dougherty [EMAIL PROTECTED]