help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Recursive implicit rule chain sometimes works


From: David Boyce
Subject: Re: Recursive implicit rule chain sometimes works
Date: Wed, 19 Nov 2014 07:11:30 -0800

It's preferable to use 4.1 for the usual obvious reasons (bugfixes and
features) plus one that's less obvious. I believe the reason many
Linux distributions were so slow to move from 3.81 to 3.82 is that
3.82 introduced an incompatibility which affected the ability to build
(among other things) Linux kernels predating 3.82. It was a legitimate
fix but did raise significant compatibility issues. In 4.1 the fix
remains but now causes only a warning rather than a fatal error as it
did in 3.82. In other words if you do this incorrect thing you get:

3.81: silently ignored (wrong)
3.82: fatal error (correct but a problem for older Linux kernels)
4.0: same as 3.82
4.1: just a warning (happy medium)

Thus it's actually safer to upgrade to 4.1 than 3.82 in many cases.

David

On Wed, Nov 19, 2014 at 6:53 AM, Reinier Post <address@hidden> wrote:
> On Wed Nov 19 13:51:44 2014, address@hidden (Luke Goodsell) wrote:
>> $ make --version
>> GNU Make 3.81
>> Copyright (C) 2006  Free Software Foundation, Inc.
>> This is free software; see the source for copying conditions.
>> There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
>> PARTICULAR PURPOSE.
>>
>> This program built for x86_64-pc-linux-gnu
>>
>> Hi,
>>
>> Using the above version of make, I'm encountering an issue whereby [...]
> I would very much appreciate your assistance to avoid this problem.
>
> I can reproduce your problem on a Ubuntu 12.04 host (which runs 3.81).
>
> These Linux distributions should have been carrying 3.82 a long time ago.
> This keeps rearing its head on this mailing list.
>
> To fix it, do this:
>
>   cd /tmp
>   wget http://ftp.gnu.org/gnu/make/make-3.82.tar.gz
>   tar xvf make-3.82.tar.gz
>   ./configure && sudo make install
>   which make
>
> This should now say
>
>    /usr/local/bin/make
>
> Then retry.  The problem was gone for me.
> While you're at it, use 4.1 instead of 3.82; I tried 4.1 as well
> and it doesn't have this problem, either.
>
> If you have no root access, use something like
>
>   ./configure --prefix=$HOME
>
> instead (and put $HOME/bin in your $PATH).
>
> --
> Reinier Post
>
> _______________________________________________
> Help-make mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/help-make



reply via email to

[Prev in Thread] Current Thread [Next in Thread]