Subject: "make" diagnostic trying to build "xrn" 7.03 on NetBSD 1.0
To: None <netbsd-users@NetBSD.ORG>
From: Greg Earle <earle@isolar.tujunga.ca.us>
List: netbsd-users
Date: 04/07/1995 16:50:33
I'm not too familar with the vaguarities of NetBSD's "pmake" yet, so I was
wondering if someone could interpret this diagnostic:
netbsd4me# pwd
/usr/X11R6/src/contrib/programs/xrn-7.03
netbsd4me# xmkmf -a
mv -f Makefile Makefile.bak
imake -DUseInstalled -I/usr/X11R6/lib/X11/config
make Makefiles
"Makefile", line 530: Inconsistent operator for xrn.man
Fatal errors encountered -- cannot continue
netbsd4me# grep -w -n xrn.man Makefile
...
528:all:: xrn.man
530:xrn.man: xrn-man.src xrn-man.sed
531: -rm -f xrn-man.tmp
532: sed -f xrn-man.sed xrn-man.src > xrn-man.tmp
533: -rm -f xrn.man
534: mv xrn-man.tmp xrn.man
537: $(RM) xrn-man.tmp* xrn-man.c xrn-man.sed xrn.man
I've looked in /usr/src/usr.bin/make/parse.c (UTS,L!) and I see
/*-
*---------------------------------------------------------------------
* ParseDoOp --
* Apply the parsed operator to the given target node. Used in a
* Lst_ForEach call by ParseDoDependency once all targets have
* been found and their operator parsed. If the previous and new
* operators are incompatible, a major error is taken.
*
* Results:
* Always 0
*
* Side Effects:
* The type field of the node is altered to reflect any new bits in
* the op.
*---------------------------------------------------------------------
*/
static int
ParseDoOp (gnp, opp)
ClientData gnp; /* The node to which the operator is to be
* applied */
ClientData opp; /* The operator to apply */
{
GNode *gn = (GNode *) gnp;
int op = *(int *) opp;
/*
* If the dependency mask of the operator and the node don't match and
* the node has actually had an operator applied to it before, and
* the operator actually has some dependency information in it, complain.
*/
if (((op & OP_OPMASK) != (gn->type & OP_OPMASK)) &&
!OP_NOP(gn->type) && !OP_NOP(op))
{
Parse_Error (PARSE_FATAL, "Inconsistent operator for %s", gn->name);
return (1);
}
Parse_Error: I don't parse this :-)
Is it complaining because "xrn.man" was a dependancy of "all" or what?
Or is it because "xrn.man" depends on "xrn-man.src" and "xrn-man.sed", and
there is a dependancy rule for "xrn-man.sed" but none for "xrn-man.src"
(which is just a plain file, anyway)? I'm confused ...
- Greg