Problem compiling emulators/virtualbox-ose-kmod 4.1.8_2
jmc-freebsd2 at milibyte.co.uk
Wed Mar 21 23:13:43 UTC 2012
On Wednesday 21 March 2012, Lowell Gilbert wrote:
> > /data1/tmp/usr/ports/emulators/virtualbox-ose-kmod/work/VirtualBox-
> > release/bin/src/vboxdrv/r0drv/freebsd/memobj-r0drv-freebsd.c:405:
> > error: invalid type argument of '->'
> > *** Error code 1
> That line is supposed to be an assignment in between a VM_OBJECT_LOCK
> and the corresponding VM_OBJECT_UNLOCK. Can you confirm that the
> patches cause this to be the case?
Yes, that's where it is.
401 if (fContiguous)
403 Assert(enmType == RTR0MEMOBJTYPE_PHYS);
405 pMemFreeBSD->Core.u.Phys.PhysBase =
407 pMemFreeBSD->Core.u.Phys.fAllocated = true;
> It is a little tricky for me to
> edit files in an i386 environment, but the next step is to track down
> the definition of PRTR0MEMOBJFREEBSD, assuming that is the
> dereference giving the error on your system, and determining whether
> it ought to have the structure entry being dereferenced.
This takes me out of my depth in my very limited experience of C but would it be
this, also in memobj-r0drv-freebsd.c:
51 * The FreeBSD version of the memory object structure.
53 typedef struct RTR0MEMOBJFREEBSD
55 /** The core structure. */
56 RTR0MEMOBJINTERNAL Core;
57 /** Type dependent data */
58 /** The VM object associated with the allocation. */
59 vm_object_t pObject;
60 } RTR0MEMOBJFREEBSD, *PRTR0MEMOBJFREEBSD;
109 PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)pMem;
> You might want to try updating your system or trying the -legacy
> version of the port.
Version 4.1.8_1 seems to be working OK for me so I'll probably stick with that for
the time being unless a fix turns up before I upgrade to 9.0-RELEASE which I'm
planning to do shortly.
More information about the freebsd-questions