On Tue, Oct 21, 2008 at 5:36 AM, Alexey Shuvaev < [EMAIL PROTECTED]> wrote:
> On Tue, Oct 14, 2008 at 07:17:29PM -0400, Michael Proto wrote: > > Has anyone started seeing failures of ports/emulators/open-vm-tools > builds > > with a recent current? I csup-ed my source recently (as of 20080926), > > rebuilt world and my kernel, and open-vm-tools builds fail in the vmhgfs > > module with the following: > > > > > > ... > > cc1: warnings being treated as errors > > vfsops.c: In function 'HgfsVfsMount': > > vfsops.c:142: warning: implicit declaration of function 'suser' > > vfsops.c:142: warning: nested extern declaration of 'suser' > > *** Error code 1 > > ... > > > > I've tried setting CFLAGS optimizations to -Os (my default), -O, -O2 and > no > > optimizations and it fails with the same error every time. Has anyone > else > > using CURRENT in VMware seen this error recently? Any ideas? > > > This is due to API change suser() -> priv_check(). > Have a look at > http://www.freebsd.org/cgi/cvsweb.cgi/ports/x11/nvidia-driver/Makefile > (revision 1.81) for example. > I am not sure about "PRIV_DRIVER" argument, but you can try to replace > "suser(CURTHREAD)" to "priv_check(CURTHREAD, PRIV_DRIVER)" > in the open-vm-tools sources. > > Alexey. > Thanks for that bit of information! With the following patch I was able to get open-vm-tools to successfully compile: --- modules/freebsd/vmhgfs/vfsops.c.old 2008-07-01 18:31:11.000000000 -0400 +++ modules/freebsd/vmhgfs/vfsops.c 2008-10-21 16:50:23.000000000 -0400 @@ -139,7 +139,7 @@ * Since Hgfs requires the caller to be root, only allow mount attempts made * by the superuser. */ - if ((ret = suser(td)) != 0) { + if ((ret = priv_check(td, PRIV_DRIVER)) != 0) { return ret; } --- modules/freebsd/vmblock/vnops.c.old 2008-07-01 18:31:09.000000000 -0400 +++ modules/freebsd/vmblock/vnops.c 2008-10-21 19:32:27.000000000 -0400 @@ -723,7 +723,7 @@ * NB: Allowing only the superuser to open this directory breaks * readdir() of the filesystem root for non-privileged users. */ - if ((retval = suser(ap->a_td)) == 0) { + if ((retval = priv_check(ap->a_td, PRIV_DRIVER)) == 0) { #if __FreeBSD_version >= 700000 fp = ap->a_fp; #else I cannot say if makes these modules work or not, as I don't use them (my main reason for having open-vm-tools is for vmware-guestd and its ability to sync the VM's clock to the host), but the port compiles cleanly with this. Thanks very much! -Proto _______________________________________________ freebsd-ports@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[EMAIL PROTECTED]"