diff -Nurd -x'*~' Test-POE-Server-TCP-1.16.orig/t/00-compile.t Test-POE-Server-TCP-1.16/t/00-compile.t --- Test-POE-Server-TCP-1.16.orig/t/00-compile.t 2011-06-29 05:04:18.000000000 -0400 +++ Test-POE-Server-TCP-1.16/t/00-compile.t 2011-09-08 13:46:49.000000000 -0400 @@ -9,6 +9,7 @@ use File::Find; use File::Temp qw{ tempdir }; +use Config; my @modules; find( @@ -44,7 +45,21 @@ # fake home for cpan-testers # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 ); - like( qx{ $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" ) + my @command; + if ($] >= 5.010 && $Config{"byteorder"} =~ /^1/) { + # little-endian means intel (not powerpc), for which fink has + # multiple single-arch distros that are seen by a single (fat) + # perl interp from apple for a perl version supported by fink + # (i.e., starting with 5.10.0). This is the logic taken from + # Fink::PkgVersion as of fink-0.29.13. + push @command, '/usr/bin/arch'; + if ( $Config{"longsize"} == 4 ) { + push @command, '-i386'; # 32-bit + } else { + push @command, '-x86_64'; # 64-bit + } + } + like( qx{ @command $^X -Ilib -e "require $_; print '$_ ok'" }, qr/^\s*$_ ok/s, "$_ loaded ok" ) for sort @modules; SKIP: {