7 Replies Latest reply: Jul 10, 2012 12:47 PM by dale RSS

    Compiling VMtools on Oracle Linux 6.2 gives errors

    dale
      I am trying to compile the vmtools on a Oracle Linux 6.2 VMware installation. I'm getting strange compilation errors on all the vmtools. Log pasted below.

      I have found thread VMware Tools and Oracle Linux Howto and followed the items in there with no help and no change.
      yum -y install kernel-headers is all up to date
      yum -y install kernel-devel is all up to date

      Here are the issues I see:
      1. Compiling the shared folder says linux/smp_lock.h does not exist, and then fails with SPIN_LOCK_UNLOCKED undeclared and unknow field `get_sb'
      2. The network device driver fails in vmxnet.c
      3. The vmblock module fails in dentry.c
      4. The communication service fails in vmci_drv.c
      5. The VM communication interface fails in vmci_drv.c
      6. The X configuration is skipped because there are "no drivers for X.ora version: 7.9.6" (see the bottom of the log below).

      start of pasted log
      ========================================================
      [root@vdev-oem bin]# ./vmware-config-tools.pl
      Initializing...


      Stopping VMware Tools services in the virtual machine:
      Guest operating system daemon: [  OK  ]
      Virtual Printing daemon: [  OK  ]
      Unmounting HGFS shares: [  OK  ]
      Guest filesystem driver: [  OK  ]


      The module vmmemctl has already been installed on this system by another
      installer or package and will not be modified by this installer. Use the flag
      --clobber-kernel-modules=vmmemctl to override.


      Before you can compile modules, you need to have the following installed...

      make
      gcc
      kernel headers of the running kernel


      Searching for GCC...
      Detected GCC binary at "/usr/bin/gcc".
      The path "/usr/bin/gcc" appears to be a valid path to the gcc binary.
      Would you like to change it? [no]

      Searching for a valid kernel header path...
      Detected the kernel headers of the running kernel at
      "/lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include".
      The path "/lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include" appears to
      be a valid path to the kernel headers of the running kernel.
      Would you like to change it? [no]

      Using 2.6.x kernel build system.
      make: Entering directory `/tmp/vmware-root/modules/vmhgfs-only'
      make -C /lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/backdoor.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/backdoorGcc64.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/bdhandler.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/cpName.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/cpNameLinux.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/cpNameLite.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/dentry.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/dir.o
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/file.o
      /tmp/vmware-root/modules/vmhgfs-only/file.c:120: warning: initialization from incompatible pointer type
      CC [M] /tmp/vmware-root/modules/vmhgfs-only/filesystem.o
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c:48:28: error: linux/smp_lock.h: No such file or directory
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c:72: error: âSPIN_LOCK_UNLOCKEDâ undeclared here (not in a function)
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c:137: error: unknown field âget_sbâ specified in initializer
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c:137: warning: initialization from incompatible pointer type
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c: In function âHgfsGetSbâ:
      /tmp/vmware-root/modules/vmhgfs-only/filesystem.c:493: error: implicit declaration of function âget_sb_nodevâ
      make[2]: *** [tmp/vmware-root/modules/vmhgfs-only/filesystem.o] Error 1
      make[1]: *** [_module_/tmp/vmware-root/modules/vmhgfs-only] Error 2
      make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      make: *** [vmhgfs.ko] Error 2
      make: Leaving directory `/tmp/vmware-root/modules/vmhgfs-only'

      The filesystem driver (vmhgfs module) is used only for the shared folder
      feature. The rest of the software provided by VMware Tools is designed to work
      independently of this feature.

      If you wish to have the shared folders feature, you can install the driver by
      running vmware-config-tools.pl again after making sure that gcc, binutils, make
      and the kernel sources for your running kernel are installed on your machine.
      These packages are available on your distribution's installation CD.
      [ Press Enter key to continue ]

      Using 2.6.x kernel build system.
      make: Entering directory `/tmp/vmware-root/modules/vmxnet-only'
      make -C /lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      CC [M] /tmp/vmware-root/modules/vmxnet-only/vmxnet.o
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c: In function âvmxnet_probe_deviceâ:
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:1007: error: âvmxnet_change_mtuâ undeclared (first use in this function)
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:1007: error: (Each undeclared identifier is reported only once
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:1007: error: for each function it appears in.)
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c: In function âvmxnet_load_multicastâ:
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:2915: error: âstruct net_deviceâ has no member named âmc_listâ
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:2925: error: âstruct net_deviceâ has no member named âmc_countâ
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:2926: error: dereferencing pointer to incomplete type
      /tmp/vmware-root/modules/vmxnet-only/vmxnet.c:2927: error: dereferencing pointer to incomplete type
      make[2]: *** [tmp/vmware-root/modules/vmxnet-only/vmxnet.o] Error 1
      make[1]: *** [_module_/tmp/vmware-root/modules/vmxnet-only] Error 2
      make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      make: *** [vmxnet.ko] Error 2
      make: Leaving directory `/tmp/vmware-root/modules/vmxnet-only'

      The fast network device driver (vmxnet module) is used only for our fast
      networking interface. The rest of the software provided by VMware Tools is
      designed to work independently of this feature.
      If you wish to have the fast network driver enabled, you can install the driver
      by running vmware-config-tools.pl again after making sure that gcc, binutils,
      make and the kernel sources for your running kernel are installed on your
      machine. These packages are available on your distribution's installation CD.
      [ Press Enter key to continue ]

      Using 2.6.x kernel build system.
      make: Entering directory `/tmp/vmware-root/modules/vmblock-only'
      make -C /lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      CC [M] /tmp/vmware-root/modules/vmblock-only/linux/block.o
      CC [M] /tmp/vmware-root/modules/vmblock-only/linux/control.o
      CC [M] /tmp/vmware-root/modules/vmblock-only/linux/dbllnklst.o
      CC [M] /tmp/vmware-root/modules/vmblock-only/linux/dentry.o
      /tmp/vmware-root/modules/vmblock-only/linux/dentry.c: In function âDentryOpRevalidateâ:
      /tmp/vmware-root/modules/vmblock-only/linux/dentry.c:107: error: implicit declaration of function âpath_lookupâ
      make[2]: *** [tmp/vmware-root/modules/vmblock-only/linux/dentry.o] Error 1
      make[1]: *** [_module_/tmp/vmware-root/modules/vmblock-only] Error 2
      make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      make: *** [vmblock.ko] Error 2
      make: Leaving directory `/tmp/vmware-root/modules/vmblock-only'

      The vmblock module enables dragging or copying files from within a host and
      dropping or pasting them onto your guest (host to guest drag and drop and file
      copy/paste). The rest of the software provided by VMware Tools is designed to
      work independently of this feature (including guest to host drag and drop and
      file copy/paste).

      If you would like the host to guest drag and drop and file copy/paste features,
      you can install the driver by running vmware-config-tools.pl again after making
      sure that gcc, binutils, make and the kernel sources for your running kernel
      are installed on your machine. These packages are available on your
      distribution's installation CD.
      [ Press Enter key to continue ]

      Using 2.6.x kernel build system.
      make: Entering directory `/tmp/vmware-root/modules/vmci-only'
      make -C /lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciDatagram.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciEvent.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciGuestDs.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciGuestKernelIf.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciKernelIf.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciProcess.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciQueuePair.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciUtil.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmci_drv.o
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:91: error: unknown field âioctlâ specified in initializer
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:91: warning: initialization from incompatible pointer type
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c: In function âvmci_initâ:
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:151: error: implicit declaration of function âinit_MUTEXâ
      make[2]: *** [tmp/vmware-root/modules/vmci-only/vmci_drv.o] Error 1
      make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
      make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      make: *** [vmci.ko] Error 2
      make: Leaving directory `/tmp/vmware-root/modules/vmci-only'

      The communication service is used in addition to the standard communication
      between the guest and the host. The rest of the software provided by VMware
      Tools is designed to work independently of this feature.
      If you wish to have the VMCI feature, you can install the driver by running
      vmware-config-tools.pl again after making sure that gcc, binutils, make and the
      kernel sources for your running kernel are installed on your machine. These
      packages are available on your distribution's installation CD.
      [ Press Enter key to continue ]

      Using 2.6.x kernel build system.
      make: Entering directory `/tmp/vmware-root/modules/vmci-only'
      make -C /lib/modules/2.6.39-200.24.1.el6uek.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciDatagram.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciEvent.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciGuestDs.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciGuestKernelIf.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciKernelIf.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciProcess.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciQueuePair.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmciUtil.o
      CC [M] /tmp/vmware-root/modules/vmci-only/vmci_drv.o
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:91: error: unknown field âioctlâ specified in initializer
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:91: warning: initialization from incompatible pointer type
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c: In function âvmci_initâ:
      /tmp/vmware-root/modules/vmci-only/vmci_drv.c:151: error: implicit declaration of function âinit_MUTEXâ
      make[2]: *** [tmp/vmware-root/modules/vmci-only/vmci_drv.o] Error 1
      make[1]: *** [_module_/tmp/vmware-root/modules/vmci-only] Error 2
      make[1]: Leaving directory `/usr/src/kernels/2.6.39-200.24.1.el6uek.x86_64'
      make: *** [vmci.ko] Error 2
      make: Leaving directory `/tmp/vmware-root/modules/vmci-only'

      The VM communication interface socket family is used in conjunction with the VM
      communication interface to provide a new communication path among guests and
      host. The rest of this software provided by VMware Tools is designed to work
      independently of this feature. If you wish to have the VSOCK feature you can
      install the driver by running vmware-config-tools.pl again after making sure
      that gcc, binutils, make and the kernel sources for your running kernel are
      installed on your machine. These packages are available on your distribution's
      installation CD.
      [ Press the Enter key to continue.]

      The module vmxnet3 has already been installed on this system by another
      installer or package and will not be modified by this installer. Use the flag
      --clobber-kernel-modules=vmxnet3 to override.

      The module pvscsi has already been installed on this system by another
      installer or package and will not be modified by this installer. Use the flag
      --clobber-kernel-modules=pvscsi to override.



      Detected X.org version 7.9.6.


      No drivers for X.org version: 7.9.6.
      Skipping X configuration because X drivers are not included.

      Creating a new initrd boot image for the kernel.
      Starting VMware Tools services in the virtual machine:
      Switching to guest configuration: [  OK  ]
      Guest operating system daemon: [  OK  ]
      Virtual Printing daemon: [  OK  ]

      The configuration of VMware Tools 8.3.2 build-257589 for Linux for this running
      kernel completed successfully.

      You must restart your X session before any mouse or graphics changes take
      effect.

      You can now run VMware Tools by invoking the following command:
      "/usr/bin/vmware-toolbox" during an X server session.

      To enable advanced X features (e.g., guest resolution fit, drag and drop, and
      file and text copy/paste), you will need to do one (or more) of the following:
      1. Manually start /usr/bin/vmware-user
      2. Log out and log back into your desktop session; and,
      3. Restart your X session.

      Enjoy,

      --the VMware team                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
        • 1. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
          Dude!
          yum -y install kernel-headers is all up to date
          yum -y install kernel-devel is all up to date
          Sorry to say but it seems you have not read it properly. The article outlines:

          <pre>
          yum -y install gcc
          yum -y install kernel-uek-devel-`uname -r`
          yum -y install kernel-uek-headers-`uname -r`
          </pre>

          Please notice the additional uek in the package names, which is important since OL uses the UEK kernel by default.
          • 2. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
            dale
            Actually, I did exactly that:
            yum -y install gcc
            yum -y install kernel-uek-devel-`uname -r`
            yum -y install kernel-uek-headers-`uname -r`

            The headers with the uname gave an error that the headers do not exist. The others ran fine.
            I did:
            yum -y install kernel-uek-headers
            and that worked.

            However, NONE of this changed the errors - they were exactly the same before and after. The problem is still not resolved.

            However, I did try a different approach. I found the VMware Operating System Packages (OSPs) through the following link: http://www.vmware.com/download/packages.html. I installed that, and it seemed to work fine.

            The problem that we had, which was the original reason why I wanted to have the VMware tools, was that the disk was sized too small and I thought with the tools we could resize the disk. It didn't work, we could not edit the size in the VMware console. So we ended up blowing away that VM and are in the process of recreating it at a larger size. I'll take a snapshot of the state before the OSP install so I can test the compile version in case someone posts something useful here.
            • 3. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
              Dude!
              Which version of the vmware are you using and which version of the vmware tools did you try to install?
              • 4. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
                dale
                VMware is ESX 4.1u1
                Tools: the file on the virtual DVD is VMwareTools-8.3.2-257589.tar.gz
                • 5. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
                  Dude!
                  According to various links I found in Google the problem is known and fixed by updated versions of the VMware tools.
                  • 6. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
                    Dude!
                    The problem that we had, which was the original reason why I wanted to have the VMware tools, was that the disk was sized too small and I thought with the tools we could resize the disk. It didn't work, we could not edit the size in the VMware console. So we ended up blowing away that VM and are in the process of recreating it at a larger size. I'll take a snapshot of the state before the OSP install so I can test the compile version in case someone posts something useful here.
                    The OS should have been installed with LVM by default, which gives you the option to add another virtual drive to increase the capacity of your existing installation without having to re-install the system.
                    • 7. Re: Compiling VMtools on Oracle Linux 6.2 gives errors
                      dale
                      Update: I was installing all of this because I was going to use it for OEM/Grid Control, and I was installing OEM version 11.1.0.1. It turns out that this version of OEM is incompatible and not supported on Linux 6.2. Therefore, I ended up starting over with Linux 5.8.

                      Interestingly enough, the instructions in VMware Tools and Oracle Linux Howto work perfectly for installing the VMtools - no problems at all.

                      This may be completely due to the Linux version - 6.2.

                      Hope this helps someone.