Subject: pkg/25920: pkgsrc/sysutils/lsof build problems with NetBSD-current
To: None <>
From: Andreas Wiese <>
List: pkgsrc-bugs
Date: 06/13/2004 21:59:49
>Number:         25920
>Category:       pkg
>Synopsis:       lsof-4.71nb1 doesn't build on NetBSD-current
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Jun 13 20:03:00 UTC 2004
>Originator:     Andreas Wiese
>Release:        NetBSD 2.0F
Linux User Group Halberstadt
System: NetBSD schroeder.singeklub.invalid 2.0F NetBSD 2.0F (SCHROEDER) #5: Mon Jun 7 21:29:04 CEST 2004 root@schroeder.singeklub.invalid:/sys/arch/i386/compile/SCHROEDER i386
Architecture: i386
Machine: i386
pkgsrc/sysutils/lsof doesn't build on a fresh installed NetBSD-current
because of missing includes (yes, this time it isn't statvfs ;)

_PTR -DHASNFSVATTRP -DUVM -I/usr/pkgsrc/sysutils/lsof/work/lsof_4.71/lsof_4.71_s
rc/dialects/n+obsd/include -DHAS_UVM_INCL -DHAS_ADVLOCK_ARGS -DHAS_LF_LWP -DHAS_
In file included from ../dlsof.h:53,
                 from ../lsof.h:181,
                 from dvch.c:43:
/usr/include/sys/filedesc.h:79: error: field `fd_slock' has incomplete type
/usr/include/sys/filedesc.h:91: error: field `cwdi_slock' has incomplete type
*** Error code 1

make: stopped in /usr/pkgsrc/sysutils/lsof/work/lsof_4.71/lsof_4.71_src/lib
*** Error code 1

That's caused by the new member fd_slock in `struct filedesc', because its
type (`struct simplelock') isn't known in <sys/filedesc.h>.  With cwdi_slock
it's the same.
Compile lsof on NetBSD-current.
<sys/lock.h> should be included either in all files which use <sys/filedesc.h>
(here lsof/work/lsof_4.71/lsof_4.71_src/dlsof.h should be enough) or in
<sys/filedesc.h> itself (the latter would be the better solution IMHO,
because I think that lsof isn't the only program including <sys/filedesc.h>
without the knowledge that <sys/lock.h> is also needed now).