| Summary: | Multiple undefined references in the FreeBSD manual pages | ||
|---|---|---|---|
| Product: | Documentation | Reporter: | Diomidis Spinellis <dds> |
| Component: | Books & Articles | Assignee: | freebsd-doc (Nobody) <doc> |
| Status: | Closed DUPLICATE | ||
| Severity: | Affects Only Me | CC: | dds, hiroo.ono+freebsd, jhb |
| Priority: | Normal | ||
| Version: | Latest | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Diomidis Spinellis
2003-04-27 22:00:27 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 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 *** |