3 Replies Latest reply on Feb 5, 2013 9:25 PM by LovesTha

    vmware-config-tools.pl detects kernel headers version @@VMWARE@@ UTS_RELEASE

    apapadop Lurker

      VMware Workstation 6.5.5-build 328052 running on Windows XP.

       

      My Ubuntu 10.10 VM gave me a prompt this morning that the installed VMware tools are out of date. So I started the upgrade process.

       

      Installation appears to go fine upto this point:

      The installation of VMware Tools 7.8.8 build-328052 for Linux completed
      successfully. You can decide to remove this software from your system at any
      time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".

       

      Before running VMware Tools for the first time, you need to configure it by
      invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
      this program to invoke the command for you now? [yes]

       

      I get a lot of warnings of this type:

       

      insserv: warning: script 'K01acpi-support' missing LSB tags and overrides
      The script you are attempting to invoke has been converted to an Upstart
      job, but lsb-header is not supported for Upstart jobs.
      insserv: warning: script 'alsa-mixer-save' missing LSB tags and overrides
      insserv: Default-Start undefined, assuming empty start runlevel(s) for script `alsa-mixer-save'
      insserv: Default-Stop  undefined, assuming empty stop  runlevel(s) for script `alsa-mixer-save'
      The script you are attempting to invoke has been converted to an Upstart
      job, but lsb-header is not supported for Upstart jobs.

       

      And then it's time to compile modules:

       

       

      What is the location of the directory of C header files that match your running
      kernel? [/usr/src/linux/include] /usr/src/linux-headers-2.6.35-24-generic/include

      The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match
      your running kernel (version 2.6.35-24-generic).  Even if the module were to
      compile successfully, it would not load into the running kernel.

      For the record:

       

      root@ubuntu:~# uname -a
      Linux ubuntu 2.6.35-24-generic #42-Ubuntu SMP Thu Dec 2 01:41:57 UTC 2010 i686 GNU/Linux

       

      So how can the VMware Tools configuration script be instructed to detect the right version of the kernel headers?

       

      Thanks

       

      Alex

        • 1. Re: vmware-config-tools.pl detects kernel headers version @@VMWARE@@ UTS_RELEASE
          thingy Novice

          Hello Alex,

           

          Hopefully the following will assist you in getting a bit further with installing vmware tools on your Linux guest.

           

          # Needed for building kernel modules

          sudo apt-get install build-essentials

           

           

          # Chdir to the correct headers directory wrt to your running kernel

          cd /usr/src/linux-headers-`uname -r`/include/linux

           

           

          # Add the missing utsreleases info into the version.h file

          cat ../generated/utsrelease.h >> version.h

           

           

          # The vmware tools build script also wants access to the autoconf.h file, so setup a symlink

          ln -s ../generated/autoconf.h

           

           

          You can now install VMware tools using: /usr/bin/vmware-config-tools.pl

           

          Note, if some of the modules don't compile, you will need to find a patch for them. Search google and these forums for the patches for vmxnet et al.

           

          regards,

           

          Jinesh

          • 2. Re: vmware-config-tools.pl detects kernel headers version @@VMWARE@@ UTS_RELEASE
            apapadop Lurker

            Thank you Jinesh, this works.

             

            (please note that the build-essentials were already installed - this error message is not related to required software not being there)

             

            With the steps you provided the kernel header version is located correctly and the setup carries on, but as you noted some modules cannot be compiled and need to be skipped, resulting in a flaky vmware tools installation.

             

            Overall, not the smoothest experience - some of this stuff should certainly be automated with a smarter installation script.

             

            Cheers

             

            Alex

            • 3. Re: vmware-config-tools.pl detects kernel headers version @@VMWARE@@ UTS_RELEASE
              LovesTha Novice

              # Add the missing utsreleases info into the version.h file

              cat ../generated/utsrelease.h >> version.h

              This appears to have been outdated now.

               

              Trying to get these to compile against 3.7 I found that the contents of utsrelease.h didn't contain the bits that are needed.

              I believe this file is expected to have LINUX_VERSION_CODE and KERNEL_VERSION() defined, something like:

               

              #define LINUX_VERSION_CODE 198400
              #define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))

               

               

              So I believe that the current correct version is:

              cat ../generated/uapi/linux/version.h

              Which got my stuff to compile.

               

              About the same time I noticed this great link in some other thread: https://wiki.archlinux.org/index.php/VMware#3.7_kernels