List Info

Thread: Re: FW: VMWare Tools for FreeBSD




Re: FW: VMWare Tools for FreeBSD
user name
2008-03-18 14:24:53
Comments below:

On Tue, Mar 18, 2008 at 12:13 PM, Gelsema, P (Patrick)
<gelsemapsuperhero.nl> wrote:
> On Tue, March 18, 2008 23:36, Alexander Sack wrote:
>  > I believe the issue is that MNT_NODEV which
should be defined in
>  > /usr/include/sys/mount.h was deprecated and
removed from FreeBSD:
>  >
>  > http://ftp.cz.freebsd.org/pub/FreeBSD-cvs/gnats/conf/7
9715
>  >
>  > At line 42 in hgfsmounter.c, add
>  >
>  > #     define MNT_NODEV  0
>  >
>  > Then rebuild.  SHould work fine now.
>  >
>  > I configured my build environment via the README
with ./configure
>  > LDFLAGS="/usr/local/lib" etc.
>  >
>  Done
>
>  #./configure LDFLAGS="/usr/local/lib"
--without-x
>  #make
>  #make install
>
>  That all goes ok
>  But when I run #make modules I get an error
>
>  wolverine# make modules
>  make -C modules
>  make -C "freebsd/vmmemctl"
>  make -C "freebsd/vmxnet"
>  cc -O2 -fno-strict-aliasing -pipe  -D_KERNEL
-DKLD_MODULE -std=c99
>  -nostdinc   -I. -I -I/contrib/altq
-finline-limit=8000 --param
>  inline-unit-growth=100 --param
large-function-growth=1000 -fno-common
>  -mno-align-long-strings -mpreferred-stack-boundary=2 
-mno-mmx -mno-3dnow
>  -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -Wall
-Wredundant-decls
>  -Wnested-externs -Wstrict-prototypes 
-Wmissing-prototypes -Wpointer-arith
>  -Winline -Wcast-qual  -Wundef -Wno-pointer-sign
-fformat-extensions -c
>  if_vxn.c
>  if_vxn.c: In function 'vxn_attach':
>  if_vxn.c:302: warning: passing argument 4 of
'bus_setup_intr' from
>  incompatible pointer type
>  if_vxn.c:302: warning: passing argument 5 of
'bus_setup_intr' from
>  incompatible pointer type
>  if_vxn.c:302: error: too few arguments to function
'bus_setup_intr'
>  if_vxn.c:378: error: 'struct arpcom' has no member
named '_ac_enaddr'
>  if_vxn.c:385: error: 'struct arpcom' has no member
named '_ac_enaddr'
>  *** Error code 1
>
>  Stop in
/tmp/open-vm-tools-2008.03.03-79993/modules/freebsd/vmxnet.
>  *** Error code 1
>
>  Any ideas?

bus_setup_intr() kernel API seems to have either changed or
handled
differently in 7.0.  I believe you can add a NULL after the
flags
(INTR_MPSAFE) which tells BSD to use the standard interrupt
handler
instead of a top-level handler.

_ac_enaddr is because arpcom as defined in net/if_arp.h no
longer
exists.  Typically the protocol bits are stuffed in if_l2com
(layer
2).

I made the macro in net_compat.h

#define VXN_SC2ENADDR(softc)       
(IF_LLADDR(VXN_SC2IFP(softc))

and then removed the "&" from both references
in if_vxn.c as this
macro already returns a pointer to char.

That got me past this problem.  Btw, this isn't an official
port since
I didn't really rectify the net_compat.h stuff (I suppose
you could
make the 600000 to 700055, etc.).

I'm still getting some further issues with vnodeops and
vfsops with
some modules (I believe vops_lcok should be vops_lock1) but
I don't
know about the other problem.

-aps

-- 
"What lies behind us and what lies in front of us is of
little concern
to what lies within us." -Ralph Waldo Emerson
_______________________________________________
freebsd-questionsfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-que
stions
To unsubscribe, send any mail to
"freebsd-questions-unsubscribefreebsd.org"

Re: FW: VMWare Tools for FreeBSD
country flaguser name
United States
2008-03-18 15:58:02
--On Tuesday, March 18, 2008 15:24:53 -0400 Alexander Sack
<pisymbolgmail.com> 
wrote:
>
> bus_setup_intr() kernel API seems to have either
changed or handled
> differently in 7.0.  I believe you can add a NULL after
the flags
> (INTR_MPSAFE) which tells BSD to use the standard
interrupt handler
> instead of a top-level handler.
>
> _ac_enaddr is because arpcom as defined in net/if_arp.h
no longer
> exists.  Typically the protocol bits are stuffed in
if_l2com (layer
> 2).
>
> I made the macro in net_compat.h
>
># define VXN_SC2ENADDR(softc)       
(IF_LLADDR(VXN_SC2IFP(softc))
>
> and then removed the "&" from both
references in if_vxn.c as this
> macro already returns a pointer to char.
>
> That got me past this problem.  Btw, this isn't an
official port since
> I didn't really rectify the net_compat.h stuff (I
suppose you could
> make the 600000 to 700055, etc.).
>
> I'm still getting some further issues with vnodeops and
vfsops with
> some modules (I believe vops_lcok should be vops_lock1)
but I don't
> know about the other problem.
>

Well, you're way beyond my skill level now.  I'll be happy
to create a port for 
this, but someone with a much deeper knowledge of FreeBSD
and C is going to 
have to resolve the problems with the modules.

If someone is interested in doing that, I'll submit the
patches to the 
developers *and* add them to the port so that it can be
committed.  (Other than 
the kernel modules, the software builds fine from what I can
tell.)

-- 
Paul Schmehl (paulsutdallas.edu)
Senior Information Security Analyst
The University of Texas at Dallas
http://www.utdal
las.edu/ir/security/

_______________________________________________
freebsd-questionsfreebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-que
stions
To unsubscribe, send any mail to
"freebsd-questions-unsubscribefreebsd.org"

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )