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.

Full log


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




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

Previous Next


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