GNU bug report logs - #12064
distclean failure with Automake 1.12.2

Previous Next

Package: automake;

Reported by: Peter Johansson <trojkan <at> gmail.com>

Date: Fri, 27 Jul 2012 02:22:02 UTC

Severity: minor

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 12064 in the body.
You can then email your comments to 12064 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#12064; Package automake. (Fri, 27 Jul 2012 02:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Peter Johansson <trojkan <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-automake <at> gnu.org. (Fri, 27 Jul 2012 02:22:02 GMT) Full text and rfc822 format available.

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

From: Peter Johansson <trojkan <at> gmail.com>
To: bug-automake <at> gnu.org
Subject: distclean failure with Automake 1.12.2
Date: Fri, 27 Jul 2012 12:12:30 +1000
Hi automakers,

I was about to make a release when I discovered that distcheck suddenly 
didn't work anymore. The distclean rule failed with

Making distclean in doc
make[2]: Entering directory `/home/peterJo/projects/software/yat-0.8.x/yat-0.8.2/_build/doc'
Makefile:498: ../yat/classifier/doxygen.mk: No such file or directory
Makefile:499: ../yat/normalizer/doxygen.mk: No such file or directory

This was for a stable branch release so there had just been minor 
changes in two .cc files and no changes at all wrt the build system. 
After some investigation I found that Automake 1.12.2 has changed the 
order directories are traversed for clean rules. I must say I find it 
unexpected that behaviour like this is changed between 1.12.1 and 
1.12.2. I thought this kind of changes were only introduced when bumping 
versions from say 1.11 to 1.12 and not between stable releases.

The reason I got the failure is that files doxygen.mk are included into 
doc/Makefile. These files are generated in the corresponding Makefile 
and listed under DISTCLEANFILES so they are deleted during 'make 
distclean'. As SUBDIRS in top Makefile.am is SUBDIRS = doc yat that was 
not a problem before since doc was entered first during cleaning and 
doc/Makefile was already gone when the doxygen.mk files were removed. 
Perhaps a strange use case, but still I wanted to report it.

I think I've found a workaround so I can get out the release without 
needing to downgrade Automake.

Thanks,
Peter





Information forwarded to bug-automake <at> gnu.org:
bug#12064; Package automake. (Fri, 27 Jul 2012 09:16:01 GMT) Full text and rfc822 format available.

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

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Peter Johansson <trojkan <at> gmail.com>
Cc: 12064 <at> debbugs.gnu.org
Subject: Re: bug#12064: distclean failure with Automake 1.12.2
Date: Fri, 27 Jul 2012 11:08:50 +0200
severity 12064 minor
thanks

On 07/27/2012 04:12 AM, Peter Johansson wrote:
> Hi automakers,
> 
> I was about to make a release when I discovered that distcheck suddenly didn't work
> anymore.  The distclean rule failed with
> 
> Making distclean in doc
> make[2]: Entering directory `/home/peterJo/projects/software/yat-0.8.x/yat-0.8.2/_build/doc'
> Makefile:498: ../yat/classifier/doxygen.mk: No such file or directory
> Makefile:499: ../yat/normalizer/doxygen.mk: No such file or directory
>
[Aside:
 This seems quite a complex and brittle occurrence of inter-directory dependencies;
 have you thought about the possibility of converting to a non-recursive setup?  I
 have done so with Automake itself (since version 1.12), and have been very, very
 happy with that move so far.]

> This was for a stable branch release so there had just been minor changes in two .cc files
> and no changes at all wrt the build system. After some investigation I found that Automake
> 1.12.2 has changed the order directories are traversed for clean rules.
>
I thought of this change as a mere cleanup actually, since the previous different
order of directory traversal for clean rules was basically a relic needed by the
older (and now long-dead) implementation of automatic dependency tracking:
<http://www.gnu.org/software/automake/history/automake-history.html#First-Take-on-Dependencies>

> I must say I find
> it unexpected that behaviour like this is changed between 1.12.1 and 1.12.2. I thought this
> kind of changes were only introduced when bumping versions from say 1.11 to 1.12 and not
> between stable releases.
>
> The reason I got the failure is that files doxygen.mk are included into doc/Makefile.
> These files are generated in the corresponding Makefile and listed under DISTCLEANFILES
> so they are deleted during 'make distclean'. As SUBDIRS in top Makefile.am is
> "SUBDIRS = doc yat" that was not a problem before since doc was entered first during
> cleaning and doc/Makefile was already gone when the doxygen.mk files were removed.
>
> Perhaps a strange use case, but still I wanted to report it.
>
And you did well; perhaps this this worth some documentation addition?
Not sure.  Anyway, a good reason to keep the bug report open for now.

> I think I've found a workaround
>
Curios: which workaround?

> so I can get out the release without needing to
> downgrade Automake.
> 
> Thanks,
> Peter
> 

Regards,
  Stefano




Severity set to 'minor' from 'normal' Request was from Stefano Lattarini <stefano.lattarini <at> gmail.com> to control <at> debbugs.gnu.org. (Fri, 27 Jul 2012 09:16:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-automake <at> gnu.org:
bug#12064; Package automake. (Fri, 27 Jul 2012 11:07:04 GMT) Full text and rfc822 format available.

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

From: Peter Johansson <trojkan <at> gmail.com>
To: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Cc: 12064 <at> debbugs.gnu.org
Subject: Re: bug#12064: distclean failure with Automake 1.12.2
Date: Fri, 27 Jul 2012 20:58:54 +1000
Hi Stefano,

On 7/27/12 7:08 PM, Stefano Lattarini wrote:
> severity 12064 minor
> thanks
>
> On 07/27/2012 04:12 AM, Peter Johansson wrote:
>> Hi automakers,
>>
>> I was about to make a release when I discovered that distcheck suddenly didn't work
>> anymore.  The distclean rule failed with
>>
>> Making distclean in doc
>> make[2]: Entering directory `/home/peterJo/projects/software/yat-0.8.x/yat-0.8.2/_build/doc'
>> Makefile:498: ../yat/classifier/doxygen.mk: No such file or directory
>> Makefile:499: ../yat/normalizer/doxygen.mk: No such file or directory
>>
> [Aside:
>   This seems quite a complex and brittle occurrence of inter-directory dependencies;
>   have you thought about the possibility of converting to a non-recursive setup?  I
>   have done so with Automake itself (since version 1.12), and have been very, very
>   happy with that move so far.]
>
Yes, we have converted to non-recursive Makefile in trunk since that 
branch was created, and to get rid of this hack was one the reasons we 
decided to do so.

>> This was for a stable branch release so there had just been minor changes in two .cc files
>> and no changes at all wrt the build system. After some investigation I found that Automake
>> 1.12.2 has changed the order directories are traversed for clean rules.
>>
> I thought of this change as a mere cleanup actually, since the previous different
> order of directory traversal for clean rules was basically a relic needed by the
> older (and now long-dead) implementation of automatic dependency tracking:
> <http://www.gnu.org/software/automake/history/automake-history.html#First-Take-on-Dependencies>
>
>> I must say I find
>> it unexpected that behaviour like this is changed between 1.12.1 and 1.12.2. I thought this
>> kind of changes were only introduced when bumping versions from say 1.11 to 1.12 and not
>> between stable releases.
>>
>> The reason I got the failure is that files doxygen.mk are included into doc/Makefile.
>> These files are generated in the corresponding Makefile and listed under DISTCLEANFILES
>> so they are deleted during 'make distclean'. As SUBDIRS in top Makefile.am is
>> "SUBDIRS = doc yat" that was not a problem before since doc was entered first during
>> cleaning and doc/Makefile was already gone when the doxygen.mk files were removed.
>>
>> Perhaps a strange use case, but still I wanted to report it.
>>
> And you did well; perhaps this this worth some documentation addition?
> Not sure.  Anyway, a good reason to keep the bug report open for now.
>
Well, I found it easily in NEWS. When I read the NEWS in your release 
announcement I couldn't connect the dots that this would bite. I guess 
that's the nature of hacks.
>> I think I've found a workaround
>>
> Curios: which workaround?
I moved the removal of doxygen.mk to doc/Makefile

http://dev.thep.lu.se/yat/changeset/2794

Cheers,
Peter




Reply sent to Stefano Lattarini <stefano.lattarini <at> gmail.com>:
You have taken responsibility. (Wed, 21 Nov 2012 09:53:02 GMT) Full text and rfc822 format available.

Notification sent to Peter Johansson <trojkan <at> gmail.com>:
bug acknowledged by developer. (Wed, 21 Nov 2012 09:53:02 GMT) Full text and rfc822 format available.

Message #18 received at 12064-done <at> debbugs.gnu.org (full text, mbox):

From: Stefano Lattarini <stefano.lattarini <at> gmail.com>
To: Peter Johansson <trojkan <at> gmail.com>
Cc: 12064-done <at> debbugs.gnu.org
Subject: Re: bug#12064: distclean failure with Automake 1.12.2
Date: Wed, 21 Nov 2012 10:51:31 +0100
Reference:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12064>

Since I've seen no further reports of similar problems, and since we
have concluded the issue in question wasn't due to an Automake bug,
but rather to a legitimate-but-slightly-backward-incompatible change
in Automake's behaviour (change that I stupidly introduced in a minor
version, rather than in a major version as it would have been
appropriate -- sorry again about that), I'm closing this bug report.

If anybody has further observations or objections, feel free to
continue the discussion here; that should still be possible even
if the bug has been closed.

Thanks,
  Stefano




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Dec 2012 12:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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