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:

NetBSD Home
NetBSD PR Database Search

(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.