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

Changqing Li via Bug reports for Automake <[email protected]> Thu, 21 Nov 2024 16:00:35 +0800
Newsgroups gmane.comp.sysutils.automake.bugs
Message-ID <[email protected]>
On 11/21/24 12:56, Nick Bowler wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> 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.

@Nick,  Thanks for your help.

Regards

Changqing

>
> Hope that helps,
>    Nick