[Tfug] VMWare Workstation 6 and Fedora Core 9 (beta)

Kyle Scofield kscofield at ecgrp.com
Wed Apr 2 12:14:42 MST 2008


Brian-
  Thanks for posting this. I had been fighting with vmware on a new
Fedora install off and on for 2 weeks or so. I'm going to try this as
soon as I have the chance. Thanks.

--Kyle


On Wed, 2008-04-02 at 05:17 -0600, Brian Murphy wrote:
> I am running Fedora Core 9 beta on my UofA desktop.  In order to get  
> VMware Workstation 6 to install I had to hack the linux kernel headers  
> and a vmnet source file.  While I did it on FC9, this may be true for  
> anyone running a 2.6.25 kernel.  I'm posting both for the TFUG list  
> users and to document this in google (which I believe scans the list  
> archives).  I also don't build a lot of 3rd party software so I'm not  
> too worried about the kernel header change I'm making.
> 
> Note 1: Make sure you have the Development group (gcc) and  
> kernel-devel package installed or else you'll have problems early in  
> the vmware-config.pl process.
> 
> Note 2: I skipped the vmblock module because it too is buggy and it's  
> not necessary for basic vmware operation.
> 
> The big problem is that the vmnet kernel module doesn't build.  Online  
> suggestions of replacing it with the vmware-any-any update version  
> doesn't work.
> 
> The first problem is that VMWare depends on the sock_valbool_flag()  
> function instead of using sock_set_flag and sock_reset_flag.  A 2.6.25  
> kernel patch moved the function from include/net/sock.h to  
> net/core/sock.c
> 
> (See http://openvz.org/pipermail/devel/2007-November/009116.html)
> 
> Take this function and add it back to sock.h.
> 
> static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool)
> {
>         if (valbool)
>                 sock_set_flag(sk, bit);
>         else
>                 sock_reset_flag(sk, bit);
> }
> 
> 
> Next, for reasons I didn't dig into, vmware's vmnet-only/filter.c  
> isn't picking up values from linux/netfilter_ipv4.h even though the  
> file is properly #included.  The error looks something like this:
> 
>    CC [M]  /tmp/vmware-config8/vmnet-only/filter.o
> /tmp/vmware-config8/vmnet-only/filter.c:48: error: ?NF_IP_LOCAL_IN?  
> undeclared here (not in a function)
> /tmp/vmware-config8/vmnet-only/filter.c:53: error:  
> ?NF_IP_POST_ROUTING? undeclared here (not in a function)
> /tmp/vmware-config8/vmnet-only/filter.c: In function ?VNetFilterHookFn?:
> /tmp/vmware-config8/vmnet-only/filter.c:233: warning: comparison  
> between pointer and integer
> 
> I just changed the macros to their integer values as seen in  
> /usr/src/linux/include/linux/netfilter_ipv4.h.  (NF_IP_LOCAL_IN=1,  
> NF_IP_POST_ROUTING=4) Don't miss both instances of NF_IP_POST_ROUTING  
> on lines 53 and 233 of filter.c.
> 
> Now since vmnet.tar isn't unpacked until the compilation starts, there  
> are 2 ways of fixing it.  The first is unpacking  
> /usr/lib/vmware/modules/source/vmnet.tar, fixing filter.c, and  
> repacking it so the installer will grab your fixed vmnet.tar.  I went  
> the quick and dirty route (since I was still working on this hack) and  
> hit Control-Z when vmware-config.pl started the vmnet-only  
> compilation, looked at the /tmp/vmware-config??/ directory, changed  
> the file, and ran fg to resume the build process.  I might eventually  
> change vmnet.tar since rawhide frequently puts out new kernels.
> 
> vmware-config.pl will finish and load the kernel modules for you.
> 
> VMware now starts and took the license key but it can't find some  
> shared libraries when it powers on the virtual machine.   
> vmware-config.pl warned about this.  Who actually thought it'd be  
> right? :-)
> 
> Here is the problem:
> 
> /usr/lib/vmware/bin/vmware-vmx: error while loading shared libraries:  
> libX11.so.6: cannot open shared object file: No such file or directory
> 
> Well, it's right there in /usr/lib64!!
> 
> # file /usr/lib/vmware/bin/vmware-vmx
> /usr/lib/vmware/bin/vmware-vmx: setuid ELF 32-bit LSB executable,  
> Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs),  
> for GNU/Linux 2.2.5, stripped
> 
> grr...32-bit
> 
> # ldd /usr/lib/vmware/bin/vmware-vmx
>          linux-gate.so.1 =>  (0x00110000)
>          libm.so.6 => /lib/libm.so.6 (0x00111000)
>          libdl.so.2 => /lib/libdl.so.2 (0x00701000)
>          libpthread.so.0 => /lib/libpthread.so.0 (0x006e0000)
>          libc.so.6 => /lib/libc.so.6 (0x00549000)
>          /lib/ld-linux.so.2 (0x00526000)
>          libX11.so.6 => not found
>          libXtst.so.6 => not found
>          libXext.so.6 => not found
>          libXrender.so.1 => not found
>          libz.so.1 => not found
> 
> # yum install zlib.i386 libXrender.i386 libXext.i386 libXtst.i386 libX11.i386
> 
> 
> Lo and behold!!  I have windows xp again!  Woohoo! (yes, sarcasm)
> 
> Happy hacking,
> 
> Brian Murphy
> 
> 
> 
> 
> _______________________________________________
> Tucson Free Unix Group - tfug at tfug.org
> Subscription Options:
> http://www.tfug.org/mailman/listinfo/tfug_tfug.org




More information about the tfug mailing list