GNU bug report logs -
#10436
New testsuite driver and extra trailing backslash in recipes (was: Re: bug#10427: coreutils-8.14.116-1e18d: testsuite failures on NetBSD 5.1)
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
[adding bug-automake in CC:]
Reference: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
Hi Paul, thanks for the report and diagnosis.
On 01/05/2012 10:00 AM, Paul Eggert wrote:
> I'm sending this to bug-automake because I think it's an automake
> issue. However, the problem causes the latest coreutils snapshot
> to fail to build, so I'm CC'ing to bug-coreutils.
>
>> On 01/03/2012 06:10 PM, Jim Meyering wrote:
>>> FYI, here's a snapshot of what will soon be coreutils-8.15,
>>> expected on Thursday or Friday.
>>>
>>> coreutils snapshot:
>>> http://meyering.net/cu/coreutils-ss.tar.xz 5.2 MB
>>> http://meyering.net/cu/coreutils-ss.tar.xz.sig
>>> http://meyering.net/cu/coreutils-8.14.116-1e18d.tar.xz
>
> This snapshot doesn't build on Solaris 8 (sparc) with native tools,
> for a couple of reasons. I don't expect Solaris 8 is an active
> porting target any more, but these problems could well happen on
> active targets.
>
I agree that this issues might prove a liability on some modern systems
too, and that we should fix them. (BTW, if you feel like running the
whole automake testsuite on Solaris 8 to find more similar issues, I
wouldn't object ;-)
> First, there's code like this in tests/Makefile.in:
>
> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) "$$tst" \
> $(AM_TESTS_FD_REDIRECT)
>
> This code is generated by Automake. Here, AM_TESTS_FD_REDIRECT
> is empty. Solaris 8 'make' executes the above as follows:
>
> bash -c '[expansion of previous line] \'
>
> and Bash complains about a syntax error with the trailing backslash.
>
I can reproduce this with bash 2.05b on Debian.
Attached is a fix for this bug, with a testcase. The test is quite
elaborate and somewhat hacky, but I'd rather keep it anyway, since
I'm planning to refactor it into an external helper script that will
be used to guard against other unwanted trailing `\' in *all* the
make recipes run in the automake testsuite (that's for a follow-up
patch obviously).
> How about changing Automake to generate something like this instead,
> with no backslash-newline?
>
> $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) "$$tst" $(AM_TESTS_FD_REDIRECT)
>
> This should avoid the problem.
>
I ended up breaking the line in a "safer" place instead. It is enough
to fix the bug.
Regards,
Stefano
[0001-parallel-tests-avoid-trailing-backslashes-in-make-re.patch (text/x-diff, attachment)]
This bug report was last modified 13 years and 233 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.