Bug 51480 - Multiple undefined references in the FreeBSD manual pages
Summary: Multiple undefined references in the FreeBSD manual pages
Status: Closed DUPLICATE of bug 108980
Alias: None
Product: Documentation
Classification: Unclassified
Component: Books & Articles (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-doc (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-27 22:00 UTC by Diomidis Spinellis
Modified: 2014-09-10 15:13 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Diomidis Spinellis 2003-04-27 22:00:27 UTC
	The FreeBSD documentation stands out among other open source
	operating system distributions for its consistency and 
	completeness.  For this reason it is important to keep the manual 
	page cross references correct.
	An automated check using the chkman utility
	<http://www.spinellis.gr/sw/unix/chkman/> reveals a number of
	undefined references, some problematic uses of the .Xr mdoc(7) macro,
	and a few ambiguous references.  The full output of the chkman
	run on FreeBSD 4.8-STABLE is reproduced below:

/usr/share/man/man1/ps.1.gz(281): Undefined reference to lisp(1)
/usr/share/man/man1/sh.1.gz(63): Undefined reference to pdksh(1)
/usr/share/man/man1/ee.1.gz(371): Undefined reference to ispell(1)
/usr/share/man/man1/file.1.gz(448): Undefined reference to ndbm(3)
/usr/share/man/man1/gprof.1.gz(55): Undefined reference to pc(1)
/usr/share/man/man1/gprof.1.gz(106): Undefined reference to prof(1)
/usr/share/man/man1/mkstr.1.gz(136): Undefined reference to \&pi(1)
/usr/share/man/man1/mkstr.1.gz(138): Undefined reference to \&ex(1)
/usr/share/man/man1/mt.1.gz(356): Undefined reference to st(1)
/usr/share/man/man1/netstat.1.gz(425): Undefined reference to mbuf(9)
/usr/share/man/man1/passwd.1.gz(235): Undefined reference to kpasswdd(8)
/usr/share/man/man1/rs.1.gz(180): Ambiguous reference to nm; appears in sections 1,1aout
/usr/share/man/man1/rpcgen.1.gz(384): Undefined reference to rpc_svc_calls(3)
/usr/share/man/man1/split.1.gz(118): Undefined reference to csplit(1)
/usr/share/man/man1/tput.1.gz(62): Ambiguous reference to termcap; appears in sections 3,5
/usr/share/man/man1/dnsquery.1.gz(156): Undefined reference to nstest(1)
/usr/share/man/man1/dnsquery.1.gz(157): Undefined reference to nsquery(1)
/usr/share/man/man1/doscmd.1.gz(557): Undefined reference to fconv(1)
/usr/share/man/man1/ctm_rmail.1.gz(51): Ambiguous reference to ctm; appears in sections 1,5
/usr/share/man/man1/ctm_rmail.1.gz(200): Undefined reference to "MH's"
/usr/share/man/man1/ctm_rmail.1.gz(201): Undefined reference to slocal
/usr/share/man/man1/ctm_rmail.1.gz(331): Undefined reference to procmail
/usr/share/man/man1/lpr.1.gz(96): Undefined reference to cifplot(1)
/usr/share/man/man1/lpr.1.gz(100): Undefined reference to plot(3)
/usr/share/man/man1/ed.1.gz(398): Undefined reference to locale(5)
/usr/share/man/man1/pkg_sign.1.gz(195): Undefined reference to sha1(1)
/usr/share/man/man3/gethostbyname.3.gz(264): Undefined reference to libc(3)
/usr/share/man/man3/ungetc.3.gz(64): Undefined reference to ((fseek)
/usr/share/man/man3/regexp.3.gz(80): Ambiguous reference to free; appears in sections 3,9
/usr/share/man/man3/regexp.3.gz(314): Undefined reference to egrep(Ns)
/usr/share/man/man3/usb.3.gz(184): Undefined reference to hid(4)
/usr/share/man/man3/intro.3.gz(74): Undefined reference to libc
/usr/share/man/man3/eventlib.3.gz(841): Undefined reference to fcntl(3)
/usr/share/man/man3/eventlib.3.gz(844): Undefined reference to readv(3)
/usr/share/man/man3/eventlib.3.gz(845): Undefined reference to writev(3)
/usr/share/man/man3/logging.3.gz(447): Undefined reference to fprint(3)
/usr/share/man/man3/tree.3.gz(147): Ambiguous reference to malloc; appears in sections 3,9
/usr/share/man/man3/tree.3.gz(149): Ambiguous reference to free; appears in sections 3,9
/usr/share/man/man3/dlinfo.3.gz(88): Undefined reference to ld.so(1)
/usr/share/man/man3/pthread_attr_get_np.3.gz(106): Undefined reference to pthread_attr_getstack(3)
/usr/share/man/man3/pthread_mutexattr_getkind_np.3.gz(80): Undefined reference to pthread_mutex_create(3)
/usr/share/man/man4/i386/cx.4.gz(157): Undefined reference to cxconfig(8)
/usr/share/man/man4/i386/gsc.4.gz(322): Undefined reference to pbmtopgm(1)
/usr/share/man/man4/i386/gsc.4.gz(323): Undefined reference to pnm(1)
/usr/share/man/man4/i386/wfd.4.gz(144): Undefined reference to wdc(4)
/usr/share/man/man4/i386/wfd.4.gz(222): Undefined reference to wcd(4)
/usr/share/man/man4/i386/stl.4.gz(357): Ambiguous reference to MAKEDEV; appears in sections 8,8
/usr/share/man/man4/cue.4.gz(58): Undefined reference to ifmedia(4)
/usr/share/man/man4/inet6.4.gz(425): Undefined reference to ((bind)
/usr/share/man/man4/ipsec.4.gz(46): Undefined reference to ((inet)
/usr/share/man/man4/kld.4.gz(169): Undefined reference to lkm(4)
/usr/share/man/man4/kue.4.gz(60): Undefined reference to ifmedia(4)
/usr/share/man/man4/pcvt.4.gz(862): Undefined reference to pccons(4)
/usr/share/man/man4/sio.4.gz(305): Undefined reference to dca(4)
/usr/share/man/man4/ums.4.gz(106): Undefined reference to XF86Config(5)
/usr/share/man/man4/wst.4.gz(82): Undefined reference to wst(1)
/usr/share/man/man4/yp.4.gz(489): Undefined reference to ypupdated(8)
/usr/share/man/man4/yp.4.gz(511): Undefined reference to ypclnt(3)
/usr/share/man/man4/atapicam.4.gz(49): Undefined reference to ((cd)
/usr/share/man/man4/atapicam.4.gz(113): Undefined reference to ((acd)
/usr/share/man/man4/cx.4.gz(154): Undefined reference to cxconfig(8)
/usr/share/man/man4/en.4.gz(56): Undefined reference to pvcsif(8)
/usr/share/man/man4/en.4.gz(57): Undefined reference to pvctxctl(8)
/usr/share/man/man4/fe.4.gz(240): Undefined reference to crd(4)
/usr/share/man/man4/gsc.4.gz(315): Undefined reference to pbmtopgm(1)
/usr/share/man/man4/gsc.4.gz(316): Undefined reference to pnm(1)
/usr/share/man/man4/sr.4.gz(140): Undefined reference to lsdev(8)
/usr/share/man/man4/wfd.4.gz(146): Undefined reference to wdc(4)
/usr/share/man/man4/wfd.4.gz(228): Undefined reference to wcd(4)
/usr/share/man/man4/wl.4.gz(133): Undefined reference to http://www.wavelan.com
/usr/share/man/man4/i4btel.4.gz(59): Undefined reference to isdnphone(1)
/usr/share/man/man4/daic.4.gz(112): Undefined reference to isdnctl(1)
/usr/share/man/man4/i4bisppp.4.gz(60): Undefined reference to ispppcontrol(8)
/usr/share/man/man4/i4bisppp.4.gz(62): Undefined reference to isdnd(1)
/usr/share/man/man4/aac.4.gz(128): Undefined reference to linux(4)
/usr/share/man/man4/agp.4.gz(59): Undefined reference to XFree86(1)
/usr/share/man/man4/txp.4.gz(131): Undefined reference to ifmedia(4)
/usr/share/man/man4/urio.4.gz(79): Undefined reference to rio_add_song(1)
/usr/share/man/man4/ng_l2tp.4.gz(285): Undefined reference to ng_pptp(4)
/usr/share/man/man4/awi.4.gz(42): Undefined reference to wi(8)
/usr/share/man/man4/awi.4.gz(48): Undefined reference to ifmedia(4)
/usr/share/man/man4/awi.4.gz(72): Undefined reference to cnw(4)
/usr/share/man/man4/awi.4.gz(101): Undefined reference to pcmcia(4)
/usr/share/man/man4/gre.4.gz(248): Undefined reference to atalk(4)
/usr/share/man/man4/gre.4.gz(253): Undefined reference to options(4)
/usr/share/man/man5/radius.conf.5.gz(39): Undefined reference to rad_config(3)
/usr/share/man/man5/skey.access.5.gz(129): Undefined reference to screen(1)
/usr/share/man/man5/auth.conf.5.gz(28): Undefined reference to kerberos(5)
/usr/share/man/man5/publickey.5.gz(42): Undefined reference to ypupdated(8)
/usr/share/man/man5/dm.conf.5.gz(46): Undefined reference to \&dm(8)
/usr/share/man/man5/core.5.gz(137): Undefined reference to kgdb(1)
/usr/share/man/man5/link.5.gz(138): Undefined reference to ld.so(1)
/usr/share/man/man5/rc.conf.5.gz(148): Undefined reference to pccard_ether(8)
/usr/share/man/man5/rc.conf.5.gz(754): Undefined reference to kadmind(8)
/usr/share/man/man5/rc.conf.5.gz(782): Undefined reference to k5admind(8)
/usr/share/man/man5/rc.conf.5.gz(1850): Undefined reference to gated(8)
/usr/share/man/man5/rc.conf.5.gz(1863): Undefined reference to pcnfsd(8)
/usr/share/man/man5/rc.conf.5.gz(1874): Undefined reference to rpcbind(8)
/usr/share/man/man5/stab.5.gz(53): Undefined reference to pc(1)
/usr/share/man/man5/termcap.5.gz(72): Undefined reference to \&vi(1)
/usr/share/man/man5/termcap.5.gz(851): Undefined reference to \&vi
/usr/share/man/man5/termcap.5.gz(1069): Ambiguous reference to printf; appears in sections 1,3
/usr/share/man/man5/termcap.5.gz(2135): Undefined reference to termlib(3)
/usr/share/man/man5/amd.conf.5.gz(545): Undefined reference to plock(3)
/usr/share/man/man5/inetd.conf.5.gz(891): Undefined reference to rpcbind(8)
/usr/share/man/man5/printcap.5.gz(78): Undefined reference to ((ioctl)
/usr/share/man/man5/printcap.5.gz(88): Undefined reference to ((plot)
/usr/share/man/man5/isdnd.rc.5.gz(115): Undefined reference to isdntel(1)
/usr/share/man/man5/make.conf.5.gz(189): Undefined reference to ksh(1)
/usr/share/man/man5/make.conf.5.gz(214): Undefined reference to cvsup(1)
/usr/share/man/man5/make.conf.5.gz(226): Undefined reference to sup(1)
/usr/share/man/man5/make.conf.5.gz(448): Undefined reference to g77(1)
/usr/share/man/man5/sshd_config.5.gz(133): Undefined reference to pam(3)
/usr/share/man/man5/sshd_config.5.gz(441): Undefined reference to pam_unix(8)
/usr/share/man/man7/environ.7.gz(119): Undefined reference to plot(1)
/usr/share/man/man7/environ.7.gz(174): Ambiguous reference to setenv; appears in sections 1,3
/usr/share/man/man7/hier.7.gz(67): Undefined reference to \&fd(4)
/usr/share/man/man7/hier.7.gz(436): Undefined reference to ncurses(3X)
/usr/share/man/man7/hier.7.gz(633): Undefined reference to \&at(1)
/usr/share/man/man7/hier.7.gz(669): Undefined reference to kdc(8)
/usr/share/man/man7/hier.7.gz(690): Undefined reference to \&ex(1)
/usr/share/man/man7/mdoc.7.gz(79): Undefined reference to \-man(7)
/usr/share/man/man7/mdoc.7.gz(396): Undefined reference to Troff
/usr/share/man/man7/mdoc.7.gz(2001): Undefined reference to xinit(1x)
/usr/share/man/man7/mdoc.7.gz(3100): Undefined reference to troff/(Ns)
/usr/share/man/man7/mdoc.7.gz(3918): Ambiguous reference to groff; appears in sections 1,7
/usr/share/man/man7/ports.7.gz(69): Undefined reference to portcheckout(1)
/usr/share/man/man7/ports.7.gz(348): Undefined reference to pib(1)
/usr/share/man/man7/ports.7.gz(350): Undefined reference to portlint(1)
/usr/share/man/man7/security.7.gz(172): Undefined reference to ksu(1)
/usr/share/man/man7/security.7.gz(660): Undefined reference to xdm(1)
/usr/share/man/man7/firewall.7.gz(360): Undefined reference to smb.conf(5)
/usr/share/man/man7/firewall.7.gz(361): Undefined reference to samba(7)
/usr/share/man/man7/style.perl.7.gz(65): Undefined reference to strict(3)
/usr/share/man/man7/style.perl.7.gz(127): Undefined reference to vars(3)
/usr/share/man/man8/ftpd.8.gz(440): Ambiguous reference to passwd; appears in sections 1,5
/usr/share/man/man8/rexecd.8.gz(138): Ambiguous reference to chdir; appears in sections 1,2
/usr/share/man/man8/telnetd.8.gz(142): Undefined reference to bftp(1)
/usr/share/man/man8/camcontrol.8.gz(727): Undefined reference to scsi(8)
/usr/share/man/man8/camcontrol.8.gz(729): Undefined reference to scsi(3)
/usr/share/man/man8/kldload.8.gz(79): Undefined reference to lkm(4)
/usr/share/man/man8/kldstat.8.gz(69): Undefined reference to lkm(4)
/usr/share/man/man8/kldunload.8.gz(74): Undefined reference to lkm(4)
/usr/share/man/man8/mount.8.gz(172): Undefined reference to suidperl(1)
/usr/share/man/man8/restore.8.gz(198): Undefined reference to cd(Ns)
/usr/share/man/man8/restore.8.gz(250): Undefined reference to dumpdir(8)
/usr/share/man/man8/rtquery.8.gz(26): Undefined reference to gated(8)
/usr/share/man/man8/rtquery.8.gz(103): Undefined reference to Gated(8)
/usr/share/man/man8/diskless.8.gz(308): Undefined reference to ports/net/etherboot
/usr/share/man/man8/intro.8.gz(55): Undefined reference to format(8)
/usr/share/man/man8/picobsd.8.gz(21): Undefined reference to etherboot
/usr/share/man/man8/picobsd.8.gz(653): Undefined reference to mdconfig(8)
/usr/share/man/man8/amd.8.gz(262): Undefined reference to plock(3)
/usr/share/man/man8/amd.8.gz(325): Undefined reference to mtab(5)
/usr/share/man/man8/fixmount.8.gz(117): Undefined reference to mtab(5)
/usr/share/man/man8/fixmount.8.gz(118): Undefined reference to rmtab(5)
/usr/share/man/man8/fsinfo.8.gz(67): Ambiguous reference to amd; appears in sections 4,8
/usr/share/man/man8/fsinfo.8.gz(68): Ambiguous reference to mount; appears in sections 2,8
/usr/share/man/man8/hlfsd.8.gz(296): Undefined reference to mtab(5)
/usr/share/man/man8/burncd.8.gz(86): Undefined reference to mkisofs(8)
/usr/share/man/man8/pwd_mkdb.8.gz(157): Undefined reference to mkpasswd(8)
/usr/share/man/man8/quot.8.gz(92): Undefined reference to ncheck
/usr/share/man/man8/rpc.ypxfrd.8.gz(107): Undefined reference to securenets(5)
/usr/share/man/man8/setkey.8.gz(616): Undefined reference to racoon(8)
/usr/share/man/man8/slstat.8.gz(123): Undefined reference to ststat(1)
/usr/share/man/man8/lpd.8.gz(219): Undefined reference to plot(3)
/usr/share/man/man8/isdnd.8.gz(216): Undefined reference to ((read)
/usr/share/man/man8/isdnd.8.gz(220): Undefined reference to ((ioctl)
/usr/share/man/man8/init.8.gz(397): Ambiguous reference to sysctl; appears in sections 3,8
/usr/share/man/man8/ppp.8.gz(364): Undefined reference to pppoe(8)
/usr/share/man/man8/ppp.8.gz(5871): Undefined reference to isdn(8)
/usr/share/man/man8/sshd.8.gz(591): Undefined reference to moduli(5)
/usr/share/man/man8/pam_opie.8.gz(76): Undefined reference to opiechallenge(3)
/usr/share/man/man8/pam_opieaccess.8.gz(56): Undefined reference to pam_unix(8)
/usr/share/man/man8/fsck_msdosfs.8.gz(95): Undefined reference to fsck_ffs(8)
/usr/share/man/man8/mount_smbfs.8.gz(59): Undefined reference to nsmb(8)
/usr/share/man/man8/yp.8.gz(525): Undefined reference to ypupdated(8)
/usr/share/man/man8/yp.8.gz(547): Undefined reference to ypclnt(3)
/usr/share/man/man8/ntp-genkeys.8.gz(27): Undefined reference to ntp.conf(8)
/usr/share/man/man9/VFS_UNMOUNT.9.gz(60): Undefined reference to vflush(9)
/usr/share/man/man9/VFS_CHECKEXP.9.gz(63): Undefined reference to vfs_export_lookup(9)
/usr/share/man/man9/VOP_LOOKUP.9.gz(433): Undefined reference to VOP_ABORTOP(9)
/usr/share/man/man9/boot.9.gz(83): Undefined reference to at_shutdown(9)
/usr/share/man/man9/crypto.9.gz(211): Undefined reference to ((ipsec)
/usr/share/man/man9/mi_switch.9.gz(87): Undefined reference to issignal(9)
/usr/share/man/man9/namei.9.gz(192): Undefined reference to NDFREE(9)
/usr/share/man/man9/time.9.gz(109): Undefined reference to gettime(9)
/usr/share/man/man9/vnode.9.gz(167): Undefined reference to vhold(9)
/usr/share/man/man9/vnode.9.gz(169): Undefined reference to vdrop(9)
/usr/share/man/man9/vnode.9.gz(177): Undefined reference to getnewvnode(9)
/usr/share/man/man9/vnode.9.gz(178): Undefined reference to vfree(9)
/usr/share/man/man9/vnode.9.gz(180): Undefined reference to vbusy(9)
/usr/share/man/man9/vnode.9.gz(189): Undefined reference to VFS_GET(9)
/usr/share/man/man9/vnode.9.gz(224): Undefined reference to vfs_object_create(9)
/usr/share/man/man9/device.9.gz(55): Undefined reference to device_get_parent(9)
/usr/share/man/man9/device_quiet.9.gz(56): Undefined reference to device_detach(9)
/usr/share/man/man9/BUS_SETUP_INTR.9.gz(60): Undefined reference to BUS_TEARDOWN_INTR(9)
/usr/share/man/man9/bus_generic_map_intr.9.gz(46): Undefined reference to BUS_MAP_INTR(9)
/usr/share/man/man9/bus_alloc_resource.9.gz(115): Undefined reference to rman_activate_resource(9)
/usr/share/man/man9/bus_release_resource.9.gz(51): Undefined reference to bus_teardown_intr(9)
/usr/share/man/man9/DEVICE_IDENTIFY.9.gz(49): Undefined reference to BUS_ADD_CHILD(9)
/usr/share/man/man9/DEVICE_IDENTIFY.9.gz(55): Undefined reference to bus_set_resource(9)
/usr/share/man/man9/DEVICE_IDENTIFY.9.gz(90): Undefined reference to device_set_driver(9)
/usr/share/man/man9/sbuf.9.gz(339): Undefined reference to printf(9)

Fix: 

- Remove the corresponding references.
	- Create the missing manual pages.
	- Correct cases where .Xr is misused.
	- Add remaining exceptions in the file chkman.ok
	- Run chkman as part of the FreeBSD release engineering QA
How-To-Repeat: 	Read the corresponding manual page and try to read the manual
	page that is the target of the undefined reference e.g. ypclnt.
Comment 1 Jim Brown 2003-05-07 01:45:56 UTC
Hi,

I hand checked section 9 of the manual to see if these assertions
are correct.  My results are shown below.

KEY:

FOUND   = I did find the reference in a man page .  Assertion is incorrect.
REF?    = I could not verify the assertion.  Man page likely changed since this PR was filed.
MISSING = I did not find the reference in a man page.  Assertion is correct.

-------------------------------------------------------------------------------------------------------------
FOUND   /usr/share/man/man9/VFS_UNMOUNT.9.gz(60): Undefined reference to vflush(9)
MISSING /usr/share/man/man9/VFS_CHECKEXP.9.gz(63): Undefined reference to vfs_export_lookup(9)
REF?    /usr/share/man/man9/VOP_LOOKUP.9.gz(433): Undefined reference to VOP_ABORTOP(9)
REF?    /usr/share/man/man9/boot.9.gz(83): Undefined reference to at_shutdown(9)
FOUND   /usr/share/man/man9/crypto.9.gz(211): Undefined reference to ((ipsec)
FOUND   /usr/share/man/man9/mi_switch.9.gz(87): Undefined reference to issignal(9)
FOUND   /usr/share/man/man9/namei.9.gz(192): Undefined reference to NDFREE(9)
MISSING /usr/share/man/man9/time.9.gz(109): Undefined reference to gettime(9)
FOUND   /usr/share/man/man9/vnode.9.gz(167): Undefined reference to vhold(9)
FOUND   /usr/share/man/man9/vnode.9.gz(169): Undefined reference to vdrop(9)
FOUND   /usr/share/man/man9/vnode.9.gz(177): Undefined reference to getnewvnode(9)
MISSING /usr/share/man/man9/vnode.9.gz(178): Undefined reference to vfree(9)
MISSING /usr/share/man/man9/vnode.9.gz(180): Undefined reference to vbusy(9)
MISSING /usr/share/man/man9/vnode.9.gz(189): Undefined reference to VFS_GET(9)
MISSING /usr/share/man/man9/vnode.9.gz(224): Undefined reference to vfs_object_create(9)
FOUND   /usr/share/man/man9/device.9.gz(55): Undefined reference to device_get_parent(9)
MISSING /usr/share/man/man9/device_quiet.9.gz(56): Undefined reference to device_detach(9)
FOUND   /usr/share/man/man9/BUS_SETUP_INTR.9.gz(60): Undefined reference to BUS_TEARDOWN_INTR(9)
MISSING /usr/share/man/man9/bus_generic_map_intr.9.gz(46): Undefined reference to BUS_MAP_INTR(9)
REF?    /usr/share/man/man9/bus_alloc_resource.9.gz(115): Undefined reference to rman_activate_resource(9)
FOUND   /usr/share/man/man9/bus_release_resource.9.gz(51): Undefined reference to bus_teardown_intr(9)
MISSING /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(49): Undefined reference to BUS_ADD_CHILD(9)
FOUND   /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(55): Undefined reference to bus_set_resource(9)
FOUND   /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(90): Undefined reference to device_set_driver(9)
FOUND   /usr/share/man/man9/sbuf.9.gz(339): Undefined reference to printf(9)
-------------------------------------------------------------------------------------------------------------


The large number of FOUND entries causes me to wonder
if the tool operates correctly.

Three thoughts:

1. Ensure your sources are up to date.  Some FOUND entries
   noted above were right in the directory.  Either your sources
   are incomplete, or the tool doesn't work right.  See #2.

2. The tool may not find references that are 
   second or third entries in a man page (such as printf(3)
   which has printf, fprintf, sprintf, snprintf, asprintf ...)
   Check the tool for correctness.

3. This PR is too large- you are better off closing this PR and
   submitting a separate PR for each section.


jpb
===

My uname -a
FreeBSD jpb-wks.v6.thrupoint.net 4.8-STABLE FreeBSD 
4.8-STABLE #0: Mon Apr 21 15:21:29 EDT 2003
root@jpb-wks.v6.thrupoint.net:/usr/obj/usr/src/sys/JPB02  i386
Comment 2 Diomidis Spinellis 2003-05-07 08:48:01 UTC
Something must be amiss.  These are some of the results on my system for
your FOUND entries:

$ man vflush
No manual entry for vflush
$ locate vflush
$ man bus_teardown_intr
No manual entry for bus_teardown_intr
$ man bus_set_resource
No manual entry for bus_set_resource
$ man 9 printf
No entry for printf in section 9 of the manual
$ man NDFREE
No manual entry for NDFREE
$ uname -a
FreeBSD spiti 4.8-STABLE FreeBSD 4.8-STABLE #2: Sat Apr  5 04:03:49 EEST
2003     dds@spiti:/vol/obj/vol/src/sys/SPITI  i386

Regarding the REF entries, these are the relevant contents of my
usr/share/man/man9/boot.9 file:
.\"     $NetBSD: boot.9,v 1.2 1996/09/24 07:01:26 ghudson Exp $
[...]
.It
Runs any shutdown hooks previously set by
.Xr at_shutdown 9 .


My system has been cvsuped using the tag:
*default release=cvs tag=RELENG_4

I checked the entries on another system I also maintain (using however
similar procedures) and got the same results.  One of us (probably me)
must be doing something quite wrong.

Jim Brown wrote:
> 1. Ensure your sources are up to date.  Some FOUND entries
>    noted above were right in the directory.  Either your sources
>    are incomplete, or the tool doesn't work right.  See #2.

Can you please run a locate on e.g. vflush.9 on your system and also
check the CVS branch its on?  I can not understand how I could be
missing it.  Running the tool (it is just a perl script) on your system
might also help.

> 2. The tool may not find references that are
>    second or third entries in a man page (such as printf(3)
>    which has printf, fprintf, sprintf, snprintf, asprintf ...)
>    Check the tool for correctness.

That should be ok, because there are hard links between the same pages,
so I always find them.  If there are no hard links the user will not be
able to obtain the given manual page.

> 3. This PR is too large- you are better off closing this PR and
>    submitting a separate PR for each section.

I have not problem with that, especially if some of the results are
wrong. (However, someone other than me has to do that; despite some
threats I have received following this PR :-), I am not yet a
committer.)

Diomidis

[For the benefit of the two Cc'd who had shown interest in the PR, I am
enclosing the rest of the email]

Jim Brown wrote:
> I hand checked section 9 of the manual to see if these assertions
> are correct.  My results are shown below.
> 
> KEY:
> 
> FOUND   = I did find the reference in a man page .  Assertion is incorrect.
> REF?    = I could not verify the assertion.  Man page likely changed since this PR was filed.
> MISSING = I did not find the reference in a man page.  Assertion is correct.
> 
> -------------------------------------------------------------------------------------------------------------
> FOUND   /usr/share/man/man9/VFS_UNMOUNT.9.gz(60): Undefined reference to vflush(9)
> MISSING /usr/share/man/man9/VFS_CHECKEXP.9.gz(63): Undefined reference to vfs_export_lookup(9)
> REF?    /usr/share/man/man9/VOP_LOOKUP.9.gz(433): Undefined reference to VOP_ABORTOP(9)
> REF?    /usr/share/man/man9/boot.9.gz(83): Undefined reference to at_shutdown(9)
> FOUND   /usr/share/man/man9/crypto.9.gz(211): Undefined reference to ((ipsec)
> FOUND   /usr/share/man/man9/mi_switch.9.gz(87): Undefined reference to issignal(9)
> FOUND   /usr/share/man/man9/namei.9.gz(192): Undefined reference to NDFREE(9)
> MISSING /usr/share/man/man9/time.9.gz(109): Undefined reference to gettime(9)
> FOUND   /usr/share/man/man9/vnode.9.gz(167): Undefined reference to vhold(9)
> FOUND   /usr/share/man/man9/vnode.9.gz(169): Undefined reference to vdrop(9)
> FOUND   /usr/share/man/man9/vnode.9.gz(177): Undefined reference to getnewvnode(9)
> MISSING /usr/share/man/man9/vnode.9.gz(178): Undefined reference to vfree(9)
> MISSING /usr/share/man/man9/vnode.9.gz(180): Undefined reference to vbusy(9)
> MISSING /usr/share/man/man9/vnode.9.gz(189): Undefined reference to VFS_GET(9)
> MISSING /usr/share/man/man9/vnode.9.gz(224): Undefined reference to vfs_object_create(9)
> FOUND   /usr/share/man/man9/device.9.gz(55): Undefined reference to device_get_parent(9)
> MISSING /usr/share/man/man9/device_quiet.9.gz(56): Undefined reference to device_detach(9)
> FOUND   /usr/share/man/man9/BUS_SETUP_INTR.9.gz(60): Undefined reference to BUS_TEARDOWN_INTR(9)
> MISSING /usr/share/man/man9/bus_generic_map_intr.9.gz(46): Undefined reference to BUS_MAP_INTR(9)
> REF?    /usr/share/man/man9/bus_alloc_resource.9.gz(115): Undefined reference to rman_activate_resource(9)
> FOUND   /usr/share/man/man9/bus_release_resource.9.gz(51): Undefined reference to bus_teardown_intr(9)
> MISSING /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(49): Undefined reference to BUS_ADD_CHILD(9)
> FOUND   /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(55): Undefined reference to bus_set_resource(9)
> FOUND   /usr/share/man/man9/DEVICE_IDENTIFY.9.gz(90): Undefined reference to device_set_driver(9)
> FOUND   /usr/share/man/man9/sbuf.9.gz(339): Undefined reference to printf(9)
> -------------------------------------------------------------------------------------------------------------
> 
> The large number of FOUND entries causes me to wonder
> if the tool operates correctly.
> 
> Three thoughts:
[...]
Comment 3 Jim Brown 2003-05-07 19:37:31 UTC
Hi,

Here is my cvsup file. I keep a local repo copy of
cvs-all and also gnats, updated every  daily.

-----------------------------------------------------------------------------
*default host=cvsup2.FreeBSD.org
*default base=/usr3/FreeBSD
*default prefix=/usr3/FreeBSD
*default release=cvs
*default delete use-rel-suffix
#*default tag=.  <--- Commented out for CVS mode operation. See cvsup(1).

# If your network link is a T1 or faster, comment out the following line.
#*default compress

## CVS Repository Supfile
#
# See http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html
#
cvs-all
gnats release=current prefix=/usr3/FreeBSD
----------------------------------------------------------------------------


I periodically extract from my local repo like this:

cd /usr2/tmp
# This updates my contrib, doc, src and www trees
cvs update -d
# Then I do
make all-man
make maninstall
-------------------


Having just done that:

root@jpb-wks:/usr/share/man#
root@jpb-wks:/usr/share/man#ls man9/vflush* man9/issign* man9/NDFR* man9/vhol* man9/vdrop* man9/getnewvnod*
man9/NDFREE.9.gz        man9/issignal.9.gz      man9/vflush.9.gz
man9/getnewvnode.9.gz   man9/vdrop.9.gz         man9/vhold.9.gz
root@jpb-wks:/usr/share/man#

Others skipped for now- results should be the same as above.

I'm not an expert on CVS- perhaps I have the wrong branch.
Anyone else have any insight here?


jpb
===
Comment 4 Diomidis Spinellis 2003-05-07 21:27:18 UTC
Jim Brown wrote:
> Here is my cvsup file. I keep a local repo copy of
> cvs-all and also gnats, updated every  daily.
> 
> -----------------------------------------------------------------------------
> *default host=cvsup2.FreeBSD.org
> *default base=/usr3/FreeBSD
> *default prefix=/usr3/FreeBSD
> *default release=cvs

It looks like you are tracking HEAD, while my report was identifying
STABLE (RELENG_4).  You would need to specify
*default release=cvs tag=RELENG_4
to track STABLE.

I verified one of the files you mentioned as existing against the cvs
repository:

bash-2.04$ cvs co -rRELENG_4 share/man/man9/vflush.9
cvs server: share/man/man9/vflush.9 is no longer in the repository
bash-2.04$ cvs co -rRELENG_3 share/man/man9/vflush.9
cvs server: warning: new-born share/man/man9/vflush.9 has disappeared
bash-2.04$ cvs co -rRELENG_4_6 share/man/man9/vflush.9
cvs server: warning: new-born share/man/man9/vflush.9 has disappeared
bash-2.04$ cvs co -rRELENG_4_8_0_RELEASE share/man/man9/vflush.9
cvs server: warning: new-born share/man/man9/vflush.9 has disappeared
bash-2.04$ cvs co -rRELENG_5_0 share/man/man9/vflush.9
U share/man/man9/vflush.9
bash-2.04$ cvs co -rHEAD share/man/man9/vflush.9
U share/man/man9/vflush.9

It looks like vflush(9) is only part of the 5 branch, but wrongly
mentioned in the 4 branch.  I assume the explaination will be similar
for the rest of the files.  Running chkman on the 5 tree will msot
probably produce different results: some of the missing files will be
there, and new orphan .Xr may exist.



Diomidis
Comment 5 Giorgos Keramidas freebsd_committer freebsd_triage 2003-05-07 23:04:56 UTC
On 2003-05-07 10:48, Diomidis Spinellis <dds@aueb.gr> wrote:
> Something must be amiss.  These are some of the results on my system for
> your FOUND entries:

This is usually an indication of manpages that exist in CURRENT, but
haven't been MFC'ed.

> $ man vflush
> No manual entry for vflush
> $ locate vflush
> $

giorgos@gothmog[01:01]/home/giorgos$ uname -v
FreeBSD 5.0-CURRENT #0: Tue May  6 03:35:02 GMT 2003 [...]
tinderbox/CURRENT/i386/i386/src/sys/CELERON
giorgos@gothmog[01:01]/home/giorgos$ man -w vflush
/usr/share/man/man9/vflush.9.gz
giorgos@gothmog[01:01]/home/giorgos$ cvs stat -v /usr/src/share/man/man9/vflush.9
===================================================================
File: vflush.9          Status: Up-to-date

   Working revision:    1.2     Fri Dec 14 09:11:13 2001
   Repository revision: 1.2     /home/ncvs/src/share/man/man9/vflush.9,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

   Existing Tags:
        RELENG_5_0_0_RELEASE            (revision: 1.2)
        RELENG_5_0                      (branch: 1.2.2)
        RELENG_5_0_BP                   (revision: 1.2)

giorgos@gothmog[01:01]/home/giorgos$

> I have not problem with that, especially if some of the results are
> wrong. (However, someone other than me has to do that; despite some
> threats I have received following this PR :-), I am not yet a
> committer.)

Hah.  It's a damn pity I have to leave FreeBSD for a while and join the
Greek army in a while.  That would be fun & a good thing to see :-)

- Giorgos
Comment 6 Diomidis Spinellis freebsd_committer freebsd_triage 2003-06-20 23:09:49 UTC
Responsible Changed
From-To: freebsd-doc->dds@FreeBSD.org

Assignment to responsible party.
Comment 7 Mark Linimon freebsd_committer freebsd_triage 2005-08-06 19:27:38 UTC
Responsible Changed
From-To: dds@FreeBSD.org->dds

Switch to canonical assignment.
Comment 8 Mark Linimon freebsd_committer freebsd_triage 2010-09-22 15:54:53 UTC
Responsible Changed
From-To: dds->freebsd-doc

dds' bit has been returned for safekeeping.
Comment 9 Hiroo Ono 2014-09-09 11:49:00 UTC
I think this report can be seen as superseded by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=108980 .
These deal with the same problem and bug 108980 is newer.
Comment 10 John Baldwin freebsd_committer freebsd_triage 2014-09-10 15:13:12 UTC

*** This bug has been marked as a duplicate of bug 108980 ***