Subject: bug#74453: running make failed when perl is installed in the very long path

From: Nick Bowler <[email-masked]>
Date: Wed, 20 Nov 2024 23:56:29 -0500

On 2024-11-20 21:56, Li, Changqing via Bug reports for Automake wrote:
> The failure is caused by the long path of the perl in aclocal.in,  the
> shebang  is cutted.  Could we change it like following diff?  
> [...]
> -#!@PERL@
> +#!/usr/bin/env perl

Hardcoding program names like this isn't really going to work well as a
general solution.

I was going to suggest you could just configure for your system with:

  ./configure PERL='/usr/bin/env perl'

and it will substitute that into the scripts for you, but the configure
script in Automake 1.17 exits with a fatal error if it determines that
$PERL contains spaces.  We should probably make this non fatal since the
check is clearly too broad.  You can patch configure to not exit:

--- configure~
+++ configure
@@ -3514,7 +3514,7 @@ case $PERL in
    as_fn_error $? "perl not found" "$LINENO" 5
    ;;
  *' '* | *'	'*)
-  as_fn_error $? "The path to your Perl contains spaces or tabs.
+:  as_fn_error $? "The path to your Perl contains spaces or tabs.
 This would cause build failures later or unusable programs.
 Please use a path without spaces and try again." "$LINENO" 5
   ;;

and then it will let you set PERL='/usr/bin/env perl' and it will work.

Hope that helps,
  Nick