You people were right about
$ mount|grep noexec
And the tests really should check for that. I'll submit a bug.

That apparently was the problem on one of my machines.
But for all the rest, this still fails:

env - HOME=$HOME LOGNAME=$LOGNAME PATH=/usr/bin:/bin USER=$USER sh -uxe <<EOF
svn checkout http://svn.apache.org/repos/asf/spamassassin/trunk $HOME/tmp/SA1xx
cd $HOME/tmp/SA1xx
echo|perl Makefile.PL PREFIX=$HOME/tmp/SA2xx
make
EOF

Is there some race condition in the Makefiles?

$ which perl|xargs file
/usr/bin/perl: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked, interpreter /lib/ld-linux.so.2,  for GNU/Linux 2.6.32, 
BuildID[sha1]=e4f6...., stripped

All I know is if the file is really there,
then the code at

# Create version.h platform independently.
print join(' ', $Config{'perlpath'}, "version.h.pl") . "\n";
{
  # Do the same thing as for the preprocessor below.
  package version_h;
  my $Z = $0;
  local $0    = "version.h.pl";
  local @ARGV = ();
  # Got to check for defined because the script returns shell error level!
  unless (defined do $0) {
    $0 = $Z;
    die $@ ? $@ : "Can't exec `version.h.pl': $!";
  }
}

is just not good enough.

Can't it please use the "-f" perl operator to test if the file is there,
instead of printing a possibly wrong error message.

As far as the difference in the size of the makefile, maybe it is
because different components were detected on my system or something.
OK I sent it to you.

Reply via email to