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.
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
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: [...]
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 ===
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
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
Responsible Changed From-To: freebsd-doc->dds@FreeBSD.org Assignment to responsible party.
Responsible Changed From-To: dds@FreeBSD.org->dds Switch to canonical assignment.
Responsible Changed From-To: dds->freebsd-doc dds' bit has been returned for safekeeping.
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.
*** This bug has been marked as a duplicate of bug 108980 ***