GNU bug report logs - #14501
dependency generation FAIL in t/subobj11a.sh

Previous Next

Package: automake;

Reported by: Peter Rosin <peda <at> lysator.liu.se>

Date: Wed, 29 May 2013 07:44:01 UTC

Severity: minor

Tags: patch

Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 14501 in the body.
You can then email your comments to 14501 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Wed, 29 May 2013 07:44:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter Rosin <peda <at> lysator.liu.se>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Wed, 29 May 2013 07:44:02 GMT) Full text and rfc822 format available.

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

From: Peter Rosin <peda <at> lysator.liu.se>
To: bug-automake <at> gnu.org
Subject: dependency generation FAIL in t/subobj11a.sh
Date: Wed, 29 May 2013 09:41:45 +0200
Hi!

On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails
on MSYS/MSVC (depmode=msvc7msys), like this:

+ make quux
src/.deps/foo.Po:1: *** target pattern contains no `%'.  Stop.


It appears that the generated foo.Po is broken. Adding a
	cat "$depdir"/foo.Po
just before the $MAKE quux invocation reveals that the originally
generated foo.Po has this single line content:

src/foo.obj : \

Notice the trailing backslash. When the testcase then adds a
line of its own, the trailing backslash makes it blow up.

Cheers,
Peter




Information forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Wed, 29 May 2013 07:50:01 GMT) Full text and rfc822 format available.

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

From: Peter Rosin <peda <at> lysator.liu.se>
To: 14501 <at> debbugs.gnu.org
Subject: Re: bug#14501: dependency generation FAIL in t/subobj11a.sh
Date: Wed, 29 May 2013 09:48:18 +0200
On 2013-05-29 09:41, Peter Rosin wrote:
> Hi!
> 
> On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails
> on MSYS/MSVC (depmode=msvc7msys), like this:
> 
> + make quux
> src/.deps/foo.Po:1: *** target pattern contains no `%'.  Stop.
> 
> 
> It appears that the generated foo.Po is broken. Adding a
> 	cat "$depdir"/foo.Po
> just before the $MAKE quux invocation reveals that the originally
> generated foo.Po has this single line content:
> 
> src/foo.obj : \
> 
> Notice the trailing backslash. When the testcase then adds a
> line of its own, the trailing backslash makes it blow up.

I forgot to mention that adding an empty line before the other
added line, e.g. with

echo >> "$depdir"/foo.Po

works around the problem and makes the test pass.

Cheers,
Peter





Information forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Wed, 29 May 2013 09:25:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Peter Rosin <peda <at> lysator.liu.se>
Cc: 14501 <at> debbugs.gnu.org
Subject: Re: bug#14501: dependency generation FAIL in t/subobj11a.sh
Date: Wed, 29 May 2013 11:23:16 +0200
On 05/29/2013 09:48 AM, Peter Rosin wrote:
> On 2013-05-29 09:41, Peter Rosin wrote:
>> Hi!
>>
>> On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails
>> on MSYS/MSVC (depmode=msvc7msys), like this:
>>
>> + make quux
>> src/.deps/foo.Po:1: *** target pattern contains no `%'.  Stop.
>>
>>
>> It appears that the generated foo.Po is broken. Adding a
>> 	cat "$depdir"/foo.Po
>> just before the $MAKE quux invocation reveals that the originally
>> generated foo.Po has this single line content:
>>
>> src/foo.obj : \
>>
>> Notice the trailing backslash.
>>
And I assume this, by itself, doesn't cause any problem to make,
correct?

>> When the testcase then adds a
>> line of its own, the trailing backslash makes it blow up.
> 
> I forgot to mention that adding an empty line before the other
> added line, e.g. with
> 
> echo >> "$depdir"/foo.Po
> 
> works around the problem and makes the test pass.
>
I think we should go this way, yes.  After all, albeit the trailing
'\' in the .Po file looks strange, it's not causing any problem in
practice, and it's only our hacky editing of said .Po that is
triggering the failure.  So let's fix this editing and live happy.

Any patch that does so (and adds brief a comment explaining why we
need the extra 'echo') can be considered pre-approved.

Thanks,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Thu, 30 May 2013 07:31:02 GMT) Full text and rfc822 format available.

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

From: Peter Rosin <peda <at> lysator.liu.se>
To: "automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Cc: 14501 <at> debbugs.gnu.org
Subject: Re: bug#14501: dependency generation FAIL in t/subobj11a.sh
Date: Thu, 30 May 2013 09:28:53 +0200
On 2013-05-29 11:23, Stefano Lattarini wrote:
> On 05/29/2013 09:48 AM, Peter Rosin wrote:
>> On 2013-05-29 09:41, Peter Rosin wrote:
>>> Hi!
>>>
>>> On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails
>>> on MSYS/MSVC (depmode=msvc7msys), like this:
>>>
>>> + make quux
>>> src/.deps/foo.Po:1: *** target pattern contains no `%'.  Stop.
>>>
>>>
>>> It appears that the generated foo.Po is broken. Adding a
>>> 	cat "$depdir"/foo.Po
>>> just before the $MAKE quux invocation reveals that the originally
>>> generated foo.Po has this single line content:
>>>
>>> src/foo.obj : \
>>>
>>> Notice the trailing backslash.
>>>
> And I assume this, by itself, doesn't cause any problem to make,
> correct?

Not that I have seen, no.  But it feels fishy all the same.

>>> When the testcase then adds a
>>> line of its own, the trailing backslash makes it blow up.
>>
>> I forgot to mention that adding an empty line before the other
>> added line, e.g. with
>>
>> echo >> "$depdir"/foo.Po
>>
>> works around the problem and makes the test pass.
>>
> I think we should go this way, yes.  After all, albeit the trailing
> '\' in the .Po file looks strange, it's not causing any problem in
> practice, and it's only our hacky editing of said .Po that is
> triggering the failure.  So let's fix this editing and live happy.
> 
> Any patch that does so (and adds brief a comment explaining why we
> need the extra 'echo') can be considered pre-approved.

So, I think the below is a better fix.  Ok for micro?

Cheers,
Peter



From 2131bd330a167d37274ee9b179d3885e090d0839 Mon Sep 17 00:00:00 2001
From: Peter Rosin <peda <at> lysator.liu.se>
Date: Thu, 30 May 2013 09:26:45 +0200
Subject: [PATCH] depcomp: make sure the depfile ends nicely for depmode=msvc7

When compiling a file without any dependencies (no #includes), the
msvc7 depmode (and consequently msvc7msys) generates a depfile
Makefile fragment with the last line ending with a backslash. This
is less robust than needed.

Fixes automake bug#14501.

* lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
an empty line.
(scriptversion): Update.

Signed-off-by: Peter Rosin <peda <at> lysator.liu.se>
---
 lib/depcomp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/lib/depcomp b/lib/depcomp
index 06b0882..4ebd5b3 100755
--- a/lib/depcomp
+++ b/lib/depcomp
@@ -1,7 +1,7 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2012-10-18.11; # UTC
+scriptversion=2013-05-30.07; # UTC
 
 # Copyright (C) 1999-2013 Free Software Foundation, Inc.
 
@@ -552,6 +552,7 @@ $ {
   G
   p
 }' >> "$depfile"
+  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
   rm -f "$tmpdepfile"
   ;;
 
-- 
1.7.9






Information forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Thu, 30 May 2013 08:47:02 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Peter Rosin <peda <at> lysator.liu.se>
Cc: 14501 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: Re: bug#14501: dependency generation FAIL in t/subobj11a.sh
Date: Thu, 30 May 2013 10:44:29 +0200
On 05/30/2013 09:28 AM, Peter Rosin wrote:
> On 2013-05-29 11:23, Stefano Lattarini wrote:
>> On 05/29/2013 09:48 AM, Peter Rosin wrote:
>>> On 2013-05-29 09:41, Peter Rosin wrote:
>>>> Hi!
>>>>
>>>> On Automake master (baf8a1c22acce0908), t/subobj11a.sh fails
>>>> on MSYS/MSVC (depmode=msvc7msys), like this:
>>>>
>>>> + make quux
>>>> src/.deps/foo.Po:1: *** target pattern contains no `%'.  Stop.
>>>>
>>>>
>>>> It appears that the generated foo.Po is broken. Adding a
>>>> 	cat "$depdir"/foo.Po
>>>> just before the $MAKE quux invocation reveals that the originally
>>>> generated foo.Po has this single line content:
>>>>
>>>> src/foo.obj : \
>>>>
>>>> Notice the trailing backslash.
>>>>
>> And I assume this, by itself, doesn't cause any problem to make,
>> correct?
> 
> Not that I have seen, no.  But it feels fishy all the same.
> 
>>>> When the testcase then adds a
>>>> line of its own, the trailing backslash makes it blow up.
>>>
>>> I forgot to mention that adding an empty line before the other
>>> added line, e.g. with
>>>
>>> echo >> "$depdir"/foo.Po
>>>
>>> works around the problem and makes the test pass.
>>>
>> I think we should go this way, yes.  After all, albeit the trailing
>> '\' in the .Po file looks strange, it's not causing any problem in
>> practice, and it's only our hacky editing of said .Po that is
>> triggering the failure.  So let's fix this editing and live happy.
>>
>> Any patch that does so (and adds brief a comment explaining why we
>> need the extra 'echo') can be considered pre-approved.
> 
> So, I think the below is a better fix.  Ok for micro?
> 
> Cheers,
> Peter
> 
> 
> 
> From 2131bd330a167d37274ee9b179d3885e090d0839 Mon Sep 17 00:00:00 2001
> From: Peter Rosin <peda <at> lysator.liu.se>
> Date: Thu, 30 May 2013 09:26:45 +0200
> Subject: [PATCH] depcomp: make sure the depfile ends nicely for depmode=msvc7
>
Or even "depcmp: avoid trailing backslash in depfile for depmode=msvc7",
maybe?

> When compiling a file without any dependencies (no #includes), the
> msvc7 depmode (and consequently msvc7msys) generates a depfile
> Makefile fragment with the last line ending with a backslash. This
> is less robust than needed.
> 
> Fixes automake bug#14501.
> 
> * lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
> an empty line.
> (scriptversion): Update.
> 
> Signed-off-by: Peter Rosin <peda <at> lysator.liu.se>
> ---
>  lib/depcomp |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/lib/depcomp b/lib/depcomp
> index 06b0882..4ebd5b3 100755
> --- a/lib/depcomp
> +++ b/lib/depcomp
> @@ -1,7 +1,7 @@
>  #! /bin/sh
>  # depcomp - compile a program generating dependencies as side-effects
>  
> -scriptversion=2012-10-18.11; # UTC
> +scriptversion=2013-05-30.07; # UTC
>  
>  # Copyright (C) 1999-2013 Free Software Foundation, Inc.
>  
> @@ -552,6 +552,7 @@ $ {
>    G
>    p
>  }' >> "$depfile"
> +  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
>    rm -f "$tmpdepfile"
>    ;;
>  
ACK, with either your original subject line or with the one I suggested
(as you prefer).

Thanks,
  Stefano




Information forwarded to bug-automake <at> gnu.org:
bug#14501; Package automake. (Thu, 30 May 2013 08:55:02 GMT) Full text and rfc822 format available.

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

From: Peter Rosin <peda <at> lysator.liu.se>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: 14501 <at> debbugs.gnu.org,
	"automake-patches <at> gnu.org" <automake-patches <at> gnu.org>
Subject: Re: bug#14501: dependency generation FAIL in t/subobj11a.sh
Date: Thu, 30 May 2013 10:52:40 +0200
On 2013-05-30 10:44, Stefano Lattarini wrote:
> Or even "depcmp: avoid trailing backslash in depfile for depmode=msvc7",
> maybe?

Pushed with your subject. Thanks!

Cheers,
Peter





Added tag(s) patch. Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 30 May 2013 21:08:02 GMT) Full text and rfc822 format available.

Severity set to 'minor' from 'normal' Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 30 May 2013 21:08:02 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 14501 <at> debbugs.gnu.org and Peter Rosin <peda <at> lysator.liu.se> Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Thu, 30 May 2013 21:08:03 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 28 Jun 2013 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 12 years and 72 days ago.

Previous Next


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