Home > Software Developement | Ubuntu > Installing VMWare Player 3.1.6 on Ubuntu 12.04 LTS Precise x86 (32 bit)

Installing VMWare Player 3.1.6 on Ubuntu 12.04 LTS Precise x86 (32 bit)

similar to my previous post on this topic, this is an updated post for the latest vmware player on the latest ubuntu. Precise comes with kernel 3.2 (or at least that’s what i’m running today), vmware player only supports 3.0 for the 3.x series (which is the last series compatible with an x86 CPU). The process is very similar to before. im not going to script it this time around, i’ll just describe where to get stuff and how to make it happen.

  1. Download VMWare Player 3.1.6
  2. Download The Patch (don’t worry about it being for WS 7.1.5, it is also for Player 3.1.5)
  3. Download The Patch (UPDATED, now directly compatible with 3.1.6)
  4. Extract the patch
    tar -xf vmware715fixlinux320.tar.gz
    tar -xf vmware716fixlinux340.tar.bz2
  5. Edit the script
    vim patch-modules_3.2.0.sh

    • change plreqver=3.1.5 to plreqver=3.1.6
    • save and exit
      :wq
  6. Install VMWare Player
    sudo sh VMware-Player-3.1.6-744570.i386.bundle
  7. Run the script
    sudo sh patch-modules_3.2.0.sh
    sudo sh patch-modules_3.4.0.sh

That should be it, the script should patch the required files and then begin the build, which should complete successfully.

As an extra side note, for those of you who have an ESXi server setup, you can use the linux version of vmware player to easily connect to your ESXi server simply by running

vmplayer -h ESXi_HOST -u USER -p PASSWORD

Of course you don’t need to supply the user or password, there will be a prompt to type that in if you don’t supply both.

UPDATE

I have updated the links and the instructions to work with the latest patch files. You can go to Weltall’s blog to read more about the process if you are curious.

, , , , , , , , , ,

Comments:21

Leave a Reply
  1. thomas 12/07/15

    thanks a lot, worked fine for my system!

  2. ALinux 12/08/18

    Followed everything to the letter, but get this…
    sudo sh patch-modules_3.2.0.sh
    patch-modules_3.2.0.sh: 27: [: player3.1.6: unexpected operator
    patch-modules_3.2.0.sh: 28: [: player3.1.6: unexpected operator
    Sorry, this script is only for VMWare WorkStation 7.1.5 or VMWare Player 3.1.6. Exiting

    Any ideas?

  3. admin 12/08/20

    @ALinux sounds like vmware isn’t properly installed. what does this command display as output?

    vmware-installer -l 2

  4. Andrew 12/08/29

    This patch is definitely in need – thanks!
    It almost works for me but the kernel module updater gives the following output:

    Virtual Machine Monitor [OK]
    Virtual Network Device [OK]
    VMware Blocking Filesystem [Warning?]
    Virtual Machine Communication Interface [OK]
    VMCI Sockets [OK]
    Starting VMware Services [Error]

    It then exits with “Unable to start services. See log file /tmp/vmware-root/setup-5473.log for details.”

    The last line in the log is not an error but is about registering vsock.ko

    Any ideas?

  5. admin 12/08/29

    unfortunately, I’m not much of an expert in kernel land. but it sounds like one of your kernel modules is not able to load. you could maybe debug it with modinfo and modprobe to see if it errors out when loading it into the kernel manually?

  6. Franz Assbichler 12/09/02

    After several trials I found your patch to make vmware-player run in host ubuntu 12.04.1 32 bit; before I updatet my system from 10.04 lts to 12.04 last week vmware-player 3.1.6 worked very well. Since updating to 12.04, when I try to start vm-player I have to install copiling several modules, as known. Whenevver I do this, I get the message “unableto build kernel module. see logfile /tmp/vmware-root/setup-2160.log. This happens also after installing your patch and also afte uninstallin vmware-player, rebooting the notebook and reinstalling vm + patch.
    Here I get a list of lines, I cannot interpret, as I am more than less a greenhorn in the meadowes of ubuntu.

    Sep 02 22:50:07.258: app-3075462848| Log for VMware Workstation pid=2160 version=7.1.6 build=build-744570 option=Release
    Sep 02 22:50:07.258: app-3075462848| The process is 32-bit.
    Sep 02 22:50:07.258: app-3075462848| Host codepage=UTF-8 encoding=UTF-8
    Sep 02 22:50:07.258: app-3075462848| Logging to /tmp/vmware-root/setup-2160.log
    Sep 02 22:50:07.486: app-3075462848| modconf query interface initialized
    Sep 02 22:50:07.486: app-3075462848| modconf library initialized
    Sep 02 22:50:07.521: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.527: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.537: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.575: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.585: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.642: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.647: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.651: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.656: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.661: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.679: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.684: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.688: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.693: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.698: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.703: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.712: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.770: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.775: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.780: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.785: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.790: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.794: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.804: app-3075462848| Your GCC version: 4.6
    Sep 02 22:50:07.872: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.876: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.885: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.897: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:07.918: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:08.612: app-3075462848| Trying to find a suitable PBM set for kernel 3.2.0-29-generic-pae.
    Sep 02 22:50:08.613: app-3075462848| Building module vmmon.
    Sep 02 22:50:08.613: app-3075462848| Extracting the sources of the vmmon module.
    Sep 02 22:50:08.690: app-3075462848| Building module with command: /usr/bin/make -C /tmp/vmware-root/modules/vmmon-only auto-build SUPPORT_SMP=1 HEADER_DIR=/lib/modules/3.2.0-29-generic-pae/build/include CC=/usr/bin/gcc GREP=/usr/bin/make IS_GCC_3=no VMCCVER=4.6
    Sep 02 22:50:14.306: app-3075462848| Failed to compile module vmmon!

    It would be very kind to find a helping hand.
    Cincerely yours, Franz

  7. admin 12/09/04

    you’re going to have to take a look at /tmp/vmware-root/setup-2160.log, the kernel build script output is not terribly useful for diagnostics.

  8. M. Hizdad 12/09/06

    ALinux.
    I got the same error. The error probably comes from what your system specifies as its default shell.
    >ls -l /bin/sh
    gives me “/bin/sh -> dash”
    try running the script with
    >sudo ./patch-modules_3.2.0.sh
    instead.

  9. admin 12/09/10

    he’s right, i didn’t realize that ubuntu now defaults to dash for the shell. another way to run the script is with

    sudo bash patch-modules_3.2.0.sh

  10. Salman 12/09/23

    THANK YOU COMMENTS SECTION!!!!

  11. Stephen 12/10/13

    Yes, Thanks for the ‘Dash’ vis ‘BASH’ tip.
    i was going a bit mad trying to work out why everyone was reporting sucess but I only was only pranging.
    this patching fixed all but one problem. i was left with errors compiling the block file system driver.

    i nedded to do this ;- http://communities.vmware.com/thread/401004
    and this section ;-

    13. Jun 19, 2012 11:36 AM in response to: matthewls
    Re: Cannot compile VMware Blocking Filesystem kernel module.

    Right.. So here is the patch again:

    diff -u -r source802/vmblock-only/linux/filesystem.c source/vmblock-only/linux/filesystem.c
    — source802/vmblock-only/linux/filesystem.c 2012-01-18 22:01:07.000000000 +0100
    +++ source/vmblock-only/linux/filesystem.c 2012-04-01 11:48:24.000000000 +0200
    @@ -525,7 +525,11 @@
    return -EINVAL;
    }

    +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
    rootDentry = d_alloc_root(rootInode);
    +#else
    + rootDentry = d_make_root(rootInode);
    +#endif
    if (!rootDentry) {
    iput(rootInode);
    return -ENOMEM;

    The first three lines are just saying that we are dealing with the source/vmblock-only/linux/filesystem.c file..

    The @@ line is saying where in the file to start synchronizing

    The Lines with a '-' means to delete them (none in this patch)

    The lines with a '+' means to add them

    The lines with neither a '-' or a '+' means they should already be in the file.

    So in this case, all you really need to do is scroll down to line 525 or so and look for the line causing all the trouble:

    rootDentry = d_alloc_root(rootInode);

    This call is always being performed, but for the newer kernels, it is no longer supported. So we are going to put a special case in for the newer kernels:

    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
    rootDentry = d_alloc_root(rootInode);
    #else
    rootDentry = d_make_root(rootInode);
    #endif

    You can see the patch file kept the original line in the middle, but added the extra stuff around it. So all it really is saying is replace the one line with the 5 new lines.

    I hope this makes sense

  12. Deepak 12/10/20

    Seriously..this works…thank u man..:)

  13. Salman 12/11/18

    Ok on the fresh install of Xubuntu this works!!!!!!!!!!!

  14. Dammit 12/12/02

    Where the hell is this filesystem.c source code? Why do people always post relative path with no mention of where they’re at?

  15. Frank Busse 12/12/16

    Today, the patch again fails to compile the vmblock module. Now, replacing in /usr/lib/vmware/modules/source/vmblock.tar, file /vmblock-only/linux/filesystem.c the line

    rootDentry = d_make_root(rootInode);

    by

    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
    rootDentry = d_alloc_root(rootInode);
    #else
    rootDentry = d_make_root(rootInode);
    #endif

    did it.

  16. Rob Mays 12/12/28

    Thanks Frank, that was the fix I needed as well.

    I’ve given up on Workstation 6.5.4 on Ubuntu 12.04, and resorted to Player 3.1.6, thanks to the information found here. At least I can have 1 virtual guest running now.

  17. Emmanuel 12/12/28

    This patch still did not work
    give the same error
    vmware-installer -l
    show that the version I am using is
    vmware-workstation 7.1.3.324285

  18. Luc 13/01/05

    Holy mackarel, it works!

    It didn’t at first, I had to apply the fix suggested by Frank Busse, but then it worked just fine.

    I am now running VMware-Player-3.1.6-744570.i386 on Lubuntu 12.04 with kernel 3.2.0-35-generic.

    The shame of it all in my opinion is that VMware should be the one to provide such fixes. I’ve been using it for six years, on Slackware then Suse then Ubuntu, and I’ve always had to find the fix in some odd site, not affiliated with VMware.

    Vmware/player is always the reason why I take years to update/upgrade my linux! And even when I do, I always skip the kernel because of VMware. Grumble.

    Well, congratulations and thank you very much!

  19. Drip.Flux 13/05/27

    @ALinux:

    The issue is with the == operator on lines 27 and 28. The == operator is for arithmetic comarpison not string comparison. There is a typo in the script, the = operator should be used on lines 27 and 28.

    The [ ] in the script signifies that bash is to compare strings, which is called for in this case; (( )) are used to perform arithmetic comparisons/operations.

  20. Peter 13/07/02

    Hi @all,

    jeah, VMWare installing on 12.04 but then extracting the patch, copy back to the download folder and sudo ./patch-modules_3.2.0.sh works very well thanx a lot.

    greets Peter

  21. Jilian 13/08/09

    Hi,

    does this patch work for Ubuntu 11?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackbacks:0

Listed below are links to weblogs that reference
Installing VMWare Player 3.1.6 on Ubuntu 12.04 LTS Precise x86 (32 bit) from ErrorOK
TOP