NetBSD Problem Report #49198
From reed@reedmedia.net Fri Sep 12 13:48:17 2014
Return-Path: <reed@reedmedia.net>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id DB1AACD6BC
for <gnats-bugs@gnats.NetBSD.org>; Fri, 12 Sep 2014 13:48:16 +0000 (UTC)
Message-Id: <13179-1410529694@reedmedia.net>
Date: Fri, 12 Sep 2014 08:48:15 -0500
From: reed@reedmedia.net
Reply-To: reed@reedmedia.net
To: gnats-bugs@gnats.NetBSD.org
Subject: make not seeing all .SUFFIXES suffixes
X-Send-Pr-Version: 3.95
>Number: 49198
>Category: bin
>Synopsis: make not seeing all .SUFFIXES suffixes
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: dholland
>State: analyzed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Sep 12 13:50:00 +0000 2014
>Closed-Date:
>Last-Modified: Sat Sep 13 02:34:54 +0000 2014
>Originator: reed@reedmedia.net
>Release: NetBSD 6.0_STABLE
>Organization:
>Environment:
Architecture: x86_64
Machine: amd64
>Description:
I first saw this when trying to build BIND on NetBSD with some old make.
Also reported here:
https://lists.isc.org/pipermail/bind-users/2014-September/093916.html
(it worked with FreeBSD's old pmake but not with FreeBSD's newer bmake)
>How-To-Repeat:
TARGETS = foo
all: ${TARGETS}
.SUFFIXES:
.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 .a .b .py
.py:
cp -f $< $@
With only the Makefile and foo.py in directory.
make: don't know how to make foo. Stop
make: stopped in /tmp/m
If I remove one suffix then it works. If I put the .py at the front it
works.
On chat, I was told that even a shorter list of suffixes fails:
.SUFFIXES: .1 .2 .3 .4 .py
(I see that fails for me also on a different system.)
I was told on chat that it does work with the new (controversial) make
changes. But I am opening this ticket anyways as I don't know status of
that.
>Fix:
>Release-Note:
>Audit-Trail:
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: bin/49198: make not seeing all .SUFFIXES suffixes
Date: Sat, 13 Sep 2014 00:38:48 +0000
On Fri, Sep 12, 2014 at 01:50:01PM +0000, reed@reedmedia.net wrote:
> I was told that it does work with the new (controversial) make
> changes. But I am opening this ticket anyways as I don't know
> status of that.
Those have been backed out.
--
David A. Holland
dholland@netbsd.org
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: bin/49198: make not seeing all .SUFFIXES suffixes
Date: Sat, 13 Sep 2014 01:30:40 +0000
On Fri, Sep 12, 2014 at 01:50:01PM +0000, reed@reedmedia.net wrote:
> TARGETS = foo
> all: ${TARGETS}
> .SUFFIXES:
> .SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 .a .b .py
> .py:
> cp -f $< $@
>
> With only the Makefile and foo.py in directory.
>
> make: don't know how to make foo. Stop
> make: stopped in /tmp/m
>
> If I remove one suffix then it works. If I put the .py at the front it
> works.
The problem is that when you do .SUFFIXES: it doesn't clear the graph
connectivity of the magic empty suffix object. Then if the combination
of circumstances is just so, when it goes to add .py to the empty
suffix object at the bottom of Suff_AddTransform, the serial number of
the new suffix .py matches the serial number of a stale suffix that's
already there and it does nothing. Then of course it can't match .py
after that.
I am reluctant to patch this until we finish sorting out the
backed-out suffix changes, because that will promote merge conflicts
while doing so, but it should be reasonably straightforward to fix
once that situation's more under control.
--
David A. Holland
dholland@netbsd.org
Responsible-Changed-From-To: bin-bug-people->dholland
Responsible-Changed-By: dholland@NetBSD.org
Responsible-Changed-When: Sat, 13 Sep 2014 02:34:54 +0000
Responsible-Changed-Why:
I will take care of this pending the current merge issues.
State-Changed-From-To: open->analyzed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 13 Sep 2014 02:34:54 +0000
State-Changed-Why:
Problem is understood.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.