[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#14775: automake 1.13.3 warning about version mismatch
From: |
Stefano Lattarini |
Subject: |
bug#14775: automake 1.13.3 warning about version mismatch |
Date: |
Sun, 21 Jul 2013 20:19:56 +0100 |
tags 14775 notabug
close 14775
thanks
Hi Peter, sorry for the delay.
On 07/03/2013 12:46 AM, Peter Johansson wrote:
> Hi,
>
> This is probably already fixed with the version scheme and everything,
>
Actually it's not...
> but wanted to report it just in case.
>
... so you did well. Thanks.
> I updated from from automake 1.13 to 1.13.3 and after having
> modified an Makefile.am, Automake complained about version
> mismatch. I suspect aclocal.m4 was created with aclocal 1.13
> (?).
>
I think so, yes.
> This is easily resolved by running "autoreconf -if", but
> I found it odd that a patch upgrade should cause that minor
> head ache. Especially since I then upgraded to Automake 1.14
> and expected the same thing to happen, but no - now if I issue
> 'make' it will happily keep running automake-1.13 (which is
> version 1.13.3 obviously). So in short upgrading a patch
> version cause version mishmash but upgrading a minor version
> is smoother than expected. Is this still the case with 1.14,
> 2.0 etc?
>
Yes.
> If so, is it on purpose?
>
Basically yes. Think about the following situation:
1. A user has generated his Makefile.in with Automake 1.14.
2. We release Automake 1.14.1, that contains a bug fix that
involves changing some internal details in AM_INIT_AUTOMAKE.
3. The user upgrades to Automake 1.14.1, without re-running
autoreconf.
4. Remember that the old (1.14) AM_INIT_AUTOMAKE definition has
been copied by the the old aclocal 1.14 in the generated
aclocal.m4, and it's still there, even after the Automake
upgrade.
4. The user modifies his Makefile.am, and re-run 'make'.
5. automake 1.14.1 is run, expecting to be able to rely on
the new version of the AM_INIT_AUTOMAKE internals. But
that expectation is *wrong*, since the AM_INIT_AUTOMAKE
present in aclocal.m4 is still the one from Automake 1.14,
and it is not going to be changed, since aclocal is not
being re-run.
6. Possible inconsistencies or spurious errors ensue. Oops.
So I believe the current strict version checking is actually
necessary, albeit possibly a little annoying for the user.
Remember, the rule of thumb is the following:
* Whenever you upgrade any component of the Auto* toolchain,
re-run "autoreconf --force" -- even if it is just a micro
version upgrade.
In the hope you'll agree with my reasoning above, I'm pre-emptively
closing the bug report. If you don't agree, feel free to re-open
it and continue the discussion here (and of course feel free to
continue the discussion even if you do agree, but still have
something to add :-)
Thanks,
Stefano