Subject: Re: [bug#62896] [Configure] Bug with check for PERL when path has spaces (i.e. Windows)

From: Bogdan <[email-masked]>
Date: Sun, 23 Apr 2023 13:25:38 +0200

Karl Berry <[email-masked]>, Fri Apr 21 2023 23:57:12 GMT+0200 
(Central European Summer Time)
> Thanks for the report, Dan, and for looking into this, Bogdan.
> 
>              #!User bins/perl
> 
> Apart from anything else, this cannot be solved. Shebang lines do not
> support quoting.
> 
> Thus I think what we should do is have configure give a better error
> message when the Perl path contains whitespace, that is, explicitly
> stating it can't be supported.  Instead of just failing "by the way" due
> to the lack of quoting. Would you be up for making a patch for that?

  Sure, seems easy. Too bad I don't see where configure is checking 
for 'mkdir -p' and 'install -c', I could fix that as well.
  But anyway, patch for the Perl path attached. I thought about using 
'grep -q' and checking the exit code, but maybe this version is more 
portable.

-- 
Regards - Bogdan ('bogdro') D.                 (GNU/Linux & FreeDOS)
X86 assembly (DOS, GNU/Linux):    http://bogdro.evai.pl/index-en.php
Soft(EN): http://bogdro.evai.pl/soft  http://bogdro.evai.pl/soft4asm
www.Xiph.org  www.TorProject.org  www.LibreOffice.org  www.GnuPG.org
From 2c3d2040b39a5dfe7d6335fbf3619755900c5424 Mon Sep 17 00:00:00 2001
From: Bogdan Drozdowski <>
Date: Sun, 23 Apr 2023 13:20:26 +0200
Subject: [PATCH] Show error if Perl path contains spaces

---
 configure.ac | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/configure.ac b/configure.ac
index d095ccb1a..0c5dc5511 100644
--- a/configure.ac
+++ b/configure.ac
@@ -71,6 +71,12 @@ AC_PATH_PROG([PERL], [perl])
 if test -z "$PERL"; then
    AC_MSG_ERROR([perl not found])
 fi
+if test x"`echo $PERL | grep ' '`" != "x"; then
+  AC_MSG_ERROR([The path to your Perl contains spaces.
+This would cause build failures later or unusable programs.
+Please use a path without spaces and try again.])
+fi
+
 # Save details about the selected perl interpreter in config.log.
 AM_RUN_LOG([$PERL --version])
 $PERL -e 'require 5.006;' || {
-- 
2.35.1