Comments

3.9 Final – all OK.. — 4 Comments

  1. I had an error rebuilding VMWare Workstation 9.0.2 on Linux Kernel 3.9

    /tmp/modconfig-mNKAIR/vmblock-only/linux/inode.c:49:4: warning: (near initialization for ‘RootInodeOps.lookup’) [enabled by default]
    /tmp/modconfig-mNKAIR/vmblock-only/linux/inode.c: In function ‘InodeOpLookup’:
    /tmp/modconfig-mNKAIR/vmblock-only/linux/inode.c:138:32: error: incompatible types when assigning to type ‘kgid_t’ from type ‘int’
    inode->i_uid = inode->i_gid = 0;
    ^
    make[2]: *** [/tmp/modconfig-mNKAIR/vmblock-only/linux/inode.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    make[1]: *** [_module_/tmp/modconfig-mNKAIR/vmblock-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-3.9′
    make: *** [vmblock.ko] Error 2

    /tmp/modconfig-mNKAIR/vmci-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
    /tmp/modconfig-mNKAIR/vmci-only/linux/driver.c:743:12: error: incompatible types when assigning to type ‘VMCIHostUser’ from type ‘kuid_t’
    user = current_uid();
    /tmp/modconfig-mNKAIR/vmci-only/./shared/vmci_iocontrols.h: In function ‘VMCIPtrToVA64’:
    /tmp/modconfig-mNKAIR/vmci-only/./shared/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]
    typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
    ^
    /tmp/modconfig-mNKAIR/vmci-only/./shared/vmci_iocontrols.h:93:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’
    ASSERT_ON_COMPILE(sizeof ptr <= sizeof (VA64));
    ^
    make[2]: *** [/tmp/modconfig-mNKAIR/vmci-only/linux/driver.o] Error 1
    make[2]: *** Waiting for unfinished jobs….
    make[1]: *** [_module_/tmp/modconfig-mNKAIR/vmci-only] Error 2
    make[1]: Leaving directory `/usr/src/linux-3.9'
    make: *** [vmci.ko] Error 2
    make: Leaving directory `/tmp/modconfig-mNKAIR/vmci-only'
    Unable to install all modules. See log for details.

    Here's my config related to new VMWare Modules
    # CONFIG_DEBUG_PERF_USE_VMALLOC is not set
    CONFIG_VM_EVENT_COUNTERS=y
    CONFIG_VM86=y
    CONFIG_VMWARE_VMCI_VSOCKETS=y
    CONFIG_BLK_DEV_NVME=m
    CONFIG_VMWARE_BALLOON=y
    CONFIG_VMWARE_VMCI=y
    CONFIG_VMWARE_PVSCSI=y
    CONFIG_VMXNET3=m
    CONFIG_I2C_TAOS_EVM=m
    CONFIG_DRM_VMWGFX=m
    CONFIG_DRM_VMWGFX_FBCON=y
    CONFIG_SND_VMASTER=y
    CONFIG_USB_SERIAL_NAVMAN=m
    # CONFIG_VME_BUS is not set
    # CONFIG_DEBUG_VM is not set
    CONFIG_STRICT_DEVMEM=y
    CONFIG_CRYPTO_VMAC=m
    CONFIG_HAVE_KVM=y
    CONFIG_HAVE_KVM_IRQCHIP=y
    CONFIG_HAVE_KVM_EVENTFD=y
    CONFIG_KVM_APIC_ARCHITECTURE=y
    CONFIG_KVM_MMIO=y
    CONFIG_KVM_ASYNC_PF=y
    CONFIG_HAVE_KVM_MSI=y
    CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
    CONFIG_KVM=m
    CONFIG_KVM_INTEL=m
    CONFIG_KVM_AMD=m

    • I use the following to (re)compile the VMware modules, when necessary (as root..):

      # vmware-modconfig –console –install-all

      This works fine, with kernel 3.9 and VMware 9.0.2, and the vmblock compile output looks like this:

      ……………
      make: Entering directory `/tmp/modconfig-FOIMci/vmblock-only’
      /bin/make -C /lib/modules/3.9.0/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
      make[1]: Entering directory `/usr/src/linux-3.9′
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/filesystem.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/stubs.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/file.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/block.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/inode.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/super.o
      /tmp/modconfig-FOIMci/vmblock-only/linux/inode.c:49:4: warning: initialization from incompatible pointer type [enabled by default]
      /tmp/modconfig-FOIMci/vmblock-only/linux/inode.c:49:4: warning: (near initialization for ‘RootInodeOps.lookup’) [enabled by default]
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/control.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/module.o
      CC [M] /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.o
      /tmp/modconfig-FOIMci/vmblock-only/linux/control.c: In function ‘ExecuteBlockOp’:
      /tmp/modconfig-FOIMci/vmblock-only/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default]
      /tmp/modconfig-FOIMci/vmblock-only/linux/control.c:296:4: warning: passing argument 1 of ‘putname’ from incompatible pointer type [enabled by default]
      In file included from include/linux/proc_fs.h:5:0,
      from /tmp/modconfig-FOIMci/vmblock-only/linux/control.c:28:
      include/linux/fs.h:2040:13: note: expected ‘struct filename *’ but argument is of type ‘char *’
      /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default]
      /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default]
      /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.c: In function ‘DentryOpRevalidate’:
      /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.c:104:7: warning: passing argument 2 of ‘actualDentry->d_op->d_revalidate’ makes integer from pointer without a cast [enabled by default]
      /tmp/modconfig-FOIMci/vmblock-only/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’
      LD [M] /tmp/modconfig-FOIMci/vmblock-only/vmblock.o
      Building modules, stage 2.
      MODPOST 1 modules
      WARNING: “putname” [/tmp/modconfig-FOIMci/vmblock-only/vmblock.ko] undefined!
      CC /tmp/modconfig-FOIMci/vmblock-only/vmblock.mod.o
      LD [M] /tmp/modconfig-FOIMci/vmblock-only/vmblock.ko
      make[1]: Leaving directory `/usr/src/linux-3.9′
      /bin/make -C $PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= postbuild
      make[1]: Entering directory `/tmp/modconfig-FOIMci/vmblock-only’
      make[1]: `postbuild’ is up to date.
      make[1]: Leaving directory `/tmp/modconfig-FOIMci/vmblock-only’
      cp -f vmblock.ko ./../vmblock.o
      make: Leaving directory `/tmp/modconfig-FOIMci/vmblock-only’
      ………………………….

      As you can see, there are some ‘warnings’, but the compile completes successfully.. This is with GCC version 4.7.2 (Fedora 18)..

      RG

  2. Now i see the problem
    It’s due to GCC differences
    I’m using GCC 4.8.0 instead of 4.7.x
    It was working fine when i used 4.7.x

    • Now it works with Linux Kernel 3.9.2 and GCC 4.8.0
      Perhaps you can try that version as well to fix your hang problem

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.