diff --git a/Configure b/Configure index 8e99f60b97..9f728b9242 100755 --- a/Configure +++ b/Configure @@ -2722,16 +2722,19 @@ exit(0); # Death handler, to print a helpful message in case of failure ####### # sub death_handler { - die @_ if $^S; + die @_ if $^S; # To prevent the added message in eval blocks my $build_file = $target{build_file} // "build file"; - print STDERR <<"_____"; + my @message = ( <<"_____", @_ ); Failure! $build_file wasn't produced. Please read INSTALL and associated NOTES files. You may also have to look over your available compiler tool chain or change your configuration. _____ - $orig_death_handler->(@_) if defined $orig_death_handler; + + # Dying is terminal, so it's ok to reset the signal handler here. + $SIG{__DIE__} = $orig_death_handler; + die @message; } # Configuration file reading #########################################