Problem compiling lsof

Charlie Kester corky1951 at comcast.net
Tue May 25 04:55:05 UTC 2010


On Mon 24 May 2010 at 20:24:49 PDT Arthur Barlow wrote:
>[root at uranus /usr/ports/sysutils/lsof]# HASPSEUDOFS -DHASNULLFS
>-DHASIPv6 -DHAS_STRFTIME -DLSOF_VSTR=\"8.0-STABLE\"")
>> cc -pipe -march=athlon -fno-strict-aliasing -march=athlon
>-DHASEFFNLINK=i_effnlink -DHASF_VNODE -DHASSBSTATE -DHAS_KVM_VNODE
>-DHAS_UFS1_2 -DHAS_CDEV2PRIV -DHAS_NO_SI_UDEV -DHAS_SYS_SX_H -DHAS_ZFS
>-DHAS_V_LOCKF -DHAS_LOCKF_ENTRY -DHAS_NO_6PORT -DHAS_NO_6PPCB
>-DFREEBSDV=8000 -DHASFDESCFS=2 -DHASPSEUDOFS -DHASNULLFS -DHASIPv6
>-DHAS_STRFTIME -DLSOF_VSTR="8.0-STABLE" -I/usr/src/sys -O2 -c ckkv.c
>> In file included from ../dlsof.h:81,
>> from ../lsof.h:195,
>> from ckkv.c:43:
>> /usr/src/sys/sys/conf.h:141: error: expected declaration specifiers or
>'...' before 'vm_memattr_t'

OK, now we know that the immediate cause of the error is that
-DHAS_VM_MEMATTR_T is not included on the cc commandline, so sys/conf.h
doesn't recognize vm_memattr_t as a valid type.

In other words, something's gone wrong in the configure step.

The Configure script grep's for vm_memattr_t in
${LSOF_INCLUDE}/sys/conf.h and sets HAS_VM_MEMATTR_T if the grep
succeeds.  The build failure tells us that your /usr/src/sys/conf.h uses
vm_memattr_t, so it seems the Configure is testing some other copy of
conf.h  -- because LSOF_INCLUDE is set to something other than /usr/src?

The default for LSOF_INCLUDE is /usr/include.  What do you get from the
following command?

grep vm_memattr_t /usr/include/sys/conf.h







More information about the freebsd-questions mailing list