GNU bug report logs - #44600
Automake does not make site.exp correctly when spaces in current path name.

Previous Next

Package: automake;

Reported by: Robert Menteer <reetnem <at> mac.com>

Date: Thu, 12 Nov 2020 22:25:02 UTC

Severity: normal

Done: Karl Berry <karl <at> freefriends.org>

Bug is archived. No further changes may be made.

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Robert Menteer <reetnem <at> mac.com>
To: bug-automake <at> gnu.org
Subject: Automake does not make site.exp correctly when spaces in current path
 name.
Date: Thu, 12 Nov 2020 17:23:59 -0500
[Message part 1 (text/plain, inline)]
If your current directory path contains a space then Automake creates an invalid site.exp file. The problem is in the following code placed into Makefile.in:

        @echo 'set srcdir "$(srcdir)"' >>site.tmp
        @echo "set objdir `pwd`" >>site.tmp

Note you do quote the source directory. If you were to quote the result of the pwd it would create a valid site.exp file:

        @echo "set objdir \"`pwd`\"" >>site.tmp


> Begin forwarded message:
> 
> From: Jacob Bachmeyer <jcb62281 <at> gmail.com>
> Subject: Re: bug#44580: DejaGnu runtest not found of site.exp exists
> Date: November 11, 2020 at 9:56:09 PM EST
> To: Robert Menteer <reetnem <at> mac.com>, Robert Menteer via Bug-dejagnu <bug-dejagnu <at> gnu.org>
> Cc: 44580-done <at> debbugs.gnu.org
> Reply-To: jcb62281 <at> gmail.com
> 
> Robert Menteer via Bug-dejagnu via wrote:
>> What I found by running runtest by hand is it fails if the file site.ext exists.
> 
> Your site.exp file is invalid; this is a bug in Automake rather than a bug in DejaGnu.  The version of Automake that produced the Makefile.in that you are using mishandles filenames containing spaces.  Tcl requires a value containing spaces to be properly quoted in a "set" command, and Automake is producing a site.exp that does not contain those quotes for the objdir variable.
> 
> An immediate workaround is to run `sed -e '/^set [^ ]*dir [^"]/{s/dir /&"/;s/$/"/}' -i site.exp` (tested with GNU sed) to fix your site.exp file, or to avoid building in a directory where the absolute filename contains spaces.
> 
> Additionally, as of commit b53b22c29880f785ae5e9e1c72925d2583a4c76d (after 1.6.2 was released) DejaGnu no longer loads site.exp when invoked with the --version option.
> 
> Please try regenerating your Makefile.in with a newer Automake or report this as a bug in Automake if you are already using the latest version.
> 
> I am closing this report as NOTOURBUG.
> 
> 
> -- Jacob

Original bug report to DejaGnu follows:
I have a Makefile created using the auto tools and it has a problem when making the ‘check’ target. The problem is the make file fails to verify the existence of runtest. The command used to test for the existence of runtest is:

	if /bin/bash -c "runtest --version" > /dev/null 2>&1; then

What I found by running runtest by hand is it fails if the file site.ext exists. 

parallels <at> parallels-Parallels-Virtual-Platform:~/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite$ runtest --version
ERROR: tcl error sourcing /media/psf/FlDist/trunk/testsuite/site.exp.
wrong # args: should be "set varName ?newValue?"
    while executing
"set objdir /home/parallels/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite"
    (file "/media/psf/FlDist/trunk/testsuite/site.exp" line 5)
    invoked from within
"source /media/psf/FlDist/trunk/testsuite/site.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source /media/psf/FlDist/trunk/testsuite/site.exp"
    invoked from within
"catch "uplevel #0 source $file""
parallels <at> parallels-Parallels-Virtual-Platform:~/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite$ rm site.exp
parallels <at> parallels-Parallels-Virtual-Platform:~/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite$ runtest --version
DejaGnu version	1.6.2
Expect version	5.45.4
Tcl version	8.6
parallels <at> parallels-Parallels-Virtual-Platform:~/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite$ uname -a
Linux parallels-Parallels-Virtual-Platform 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
parallels <at> parallels-Parallels-Virtual-Platform:~/Desktop/Parallels Shared Folders/FlDist/trunk/testsuite$ 

[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 242 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.