Subject: rpcgen: undefined reference to _rpcsvcdirty
To: None <port-i386@netbsd.org>
From: None <wulf@ping.net.au>
List: port-i386
Date: 06/25/2003 20:07:22
G'day,

the following error message is produced when compiling RPC enabled
applications on NetBSD-current.

creating .libs/rpc.rigdS.c
(cd .libs && cc -c -fno-builtin -fno-rtti -fno-exceptions "rpc.rigdS.c")
rm -f .libs/rpc.rigdS.c .libs/rpc.rigd.nm .libs/rpc.rigd.nmS .libs/rpc.rigd.nmT
cc -O2 -Wall -DPORTMAP -O2 -Wall -Wl,-R/usr/pkg/lib -o .libs/rpc.rigd .libs/rpc.rigdS.o rpcrigd.o rpcrig_proc.o rpcrig_svc.o rpcrig_xdr.o -Wl,--export-dynamic  -L/usr/pkg/lib ../src/.libs/libhamlib.so -lm ../lib/.libs/libmisc.a -Wl,--rpath -Wl,/usr/pkg/lib
rpcrig_svc.o: In function `rigprog_1':
rpcrig_svc.o(.text+0x27): undefined reference to `_rpcsvcdirty'
rpcrig_svc.o(.text+0x6d6): undefined reference to `_rpcsvcdirty'
gmake[2]: *** [rpc.rigd] Error 1

_rpcsvcdirty is defined and used as followed;

rpcrig_svc.c:extern int _rpcsvcdirty;   /* Still serving ? */
rpcrig_svc.c:   _rpcsvcdirty = 1;
rpcrig_svc.c:           _rpcsvcdirty = 0;
rpcrig_svc.c:           _rpcsvcdirty = 0;
rpcrig_svc.c:           _rpcsvcdirty = 0;
rpcrig_svc.c:   _rpcsvcdirty = 0;

rpcrig_svc.c, amongst other files, is generated by the rpcgen utility.

Since _rpcsvcdirty is declared to be an external variable and as this
file amongst others, was generated by the rpcgen utility, it leaves the
question of the location this variable is instantiated and used! Is this
another kernel vs userland issue?

Can someone give me some directions on what I need to do here?

Many thanks in advance,

cheerio Berndt