bug-automake
[Top][All Lists]
Advanced

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

Re: Failure of `make.test'


From: Stepan Kasal
Subject: Re: Failure of `make.test'
Date: Wed, 2 Jul 2008 15:27:37 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hello,

On Tue, Jul 01, 2008, Ludovic Courtès wrote:
> Yes, actually I had forgotten that NixOS' GNU Make package is modified
> to produce additional output suitable for the `nix-log2xml' tool.

> The extra output [*] is (1) one line per goal sent to stderr, and (2) an
> additional "\e[p" sequence to stdout when `-w' is used:

> [*] Patch available at:
>     
> https://svn.nixos.org/viewvc/nix/nixpkgs/trunk/pkgs/development/tools/build-managers/gnumake/log.patch?revision=10849&view=markup

well, this change sounds dangerous.  It's a common practice to parse the
output of make, and inserting invisible tty control sequences is not
friendly to that practice.

If you require such a dangerous feature, it should not be switched on
by default.  And since GNU make often adds -w automatically (see the
manual for details), binding that feature to -w amouts as swithing on
by default.

Here is what can easily happen:

At first, ./configure detects GNU make includes correctly.
But later on, a developer changes configure.ac.  The rules in
Automake-generated makefiles ensure that ./configure is run again.
But at that time, ./configure is called from make, perhaps from
recursive make, so it is called with -w sitched automatically on.

Consequently, the reconfigure would not detect the include directive,
automatic dependencies would be disabled.

It would be very hard to detect this bug, because it appear only
under certain conditions, and it regularly disappears each time
./configure is run explicitly from command line.

Actually it would take ages before the bug was _described_
accurately, not speaking about fixing it.

The net result would just be that the Nix community would spread the
rumour that the automatic rebuilds provided by autotools are not as
reliable as advertised.

Well, luckily, configure clears MAKEFLAGS= during its initialization.
So yes, the above horror is a fiction.  Yet I'm worried some variant
of it *could* happen in reality.

In short, I'd recommend that NixOS reconsider the patch.

Stepan




reply via email to

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