Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 1996 18:00:44 -0500 (EST)
From:      A boy and his worm gear <wpaul@skynet.ctr.columbia.edu>
To:        james@miller.cs.uwm.edu (Jim Lowe)
Cc:        current@freebsd.org
Subject:   Re: Make world fails on /usr/include/rpcsvc
Message-ID:  <199601052300.SAA11650@skynet.ctr.columbia.edu>
In-Reply-To: <199601051716.LAA02836@miller.cs.uwm.edu> from "Jim Lowe" at Jan 5, 96 11:16:48 am

next in thread | previous in thread | raw e-mail | index | archive | help
Of all the gin joints in all the towns in all the world, Jim Lowe had to 
walk into mine and say:

> 
> > > ===> lib/librpcsvc
> > > cc -O -m486 -pipe -I/usr/include/rpcsvc -c klm_prot_xdr.c -o klm_prot_xdr.o
> > > In file included from klm_prot_xdr.c:6:
> > > /usr/include/rpcsvc/klm_prot.h:10: parse error before `xdr_klm_stats'
> > > /usr/include/rpcsvc/klm_prot.h:10: warning: data definition has no type or storage class
> > [chop]
> > 
> > For the _third_ time:
> > 
> > You need to build and _install_ the new rpcgen and then rebuild
> > /usr/include/rpcsvc _before_ you build librpcsvc:
> > 
> > # cd /usr/src/usr.bin/rpcgen
> > # make
> > # make install
> > # cd /usr/src
> > # make includes
> > 
> > Then it'll work fine.
> > 
> Not quite...  I tried this and it didn't work (See attached script).
> Is there something else that we are I and some other people are missing?

[output of make includes removed]

> (miller-genuine-draft) 55# cd /usr/src/lib/librpcsvc
> (miller-genuine-draft) 56# make
> cc -O -I/usr/include/rpcsvc -c klm_prot_xdr.c -o klm_prot_xdr.o
> In file included from klm_prot_xdr.c:6:
> /usr/include/rpcsvc/klm_prot.h:10: parse error before `xdr_klm_stats'
> /usr/include/rpcsvc/klm_prot.h:10: warning: data definition has no type or storage class
> /usr/include/rpcsvc/klm_prot.h:15: parse error before `netobj'
> /usr/include/rpcsvc/klm_prot.h:15: warning: no semicolon at end of struct or union

I can't explain it, but somehow, some way, you still haven't properly
rebuilt the /usr/include/rpcsvc directory. I can tell because the line
numbers in these errors don't correspond to the klm_prot.h generated
by the new rpcgen, but they do correspond to the output of the old
rpcgen. The klm_prot.h header should begin like this:

/*
 * Please do not edit this file.
 * It was generated using rpcgen.
 */

#ifndef _KLM_PROT_H_RPCGEN
#define _KLM_PROT_H_RPCGEN

#include <rpc/rpc.h>
#define LM_MAXSTRLEN 1024

enum klm_stats {
        klm_granted = 0,
        klm_denied = 1,
        klm_denied_nolocks = 2,
        klm_working = 3
};
typedef enum klm_stats klm_stats;
[... and so on ...]

Take a look at the headers after you run make includes and see if it
matches this. Note that the new rpcgen inserts the 'please do not
edit' message at the top of the file, whereas the old one didn't.
This is a sure fire way to tell if things worked correctly. You
can also try running the klm_prot.x file through the new rpcgen by
hand to see if you get the correct output. If you don't, then somehow
you're still using the old rpcgen.

-Bill

-- 
=============================================================================
-Bill Paul            (212) 854-6020 | System Manager
Work:         wpaul@ctr.columbia.edu | Center for Telecommunications Research
Home:  wpaul@skynet.ctr.columbia.edu | Columbia University, New York City
=============================================================================
License error: The license for this .sig file has expired. You must obtain
a new license key before any more witty phrases will appear in this space.
=============================================================================



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601052300.SAA11650>