VMware Communities
TEphraim
Contributor
Contributor
Jump to solution

Linux - Compiling kernel modules (VMware Workstation bundle 9.0.2) against kernel 3.10 fails

Hey,

I'm trying to get VMware Workstation bundle 9.0.2 running on a Ubuntu 13.10 pre but the kernel modules won't get compiled against the kernel 3.10.0-6.

Here is the log of the build scripts:

Using 2.6.x kernel build system.

make: Gehe in Verzeichnis '/tmp/modconfig-DQkPL0/vmnet-only'

/usr/bin/make -C /lib/modules/3.10.0-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

   MODULEBUILDDIR= modules

make[1]: Betrete Verzeichnis '/usr/src/linux-headers-3.10.0-6-generic'

  CC [M]  /tmp/modconfig-DQkPL0/vmnet-only/driver.o

  CC [M]  /tmp/modconfig-DQkPL0/vmnet-only/hub.o

  CC [M]  /tmp/modconfig-DQkPL0/vmnet-only/userif.o

  CC [M]  /tmp/modconfig-DQkPL0/vmnet-only/netif.o

In file included from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:28:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/netif.c:42:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2558:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Ptr, 64, void const *, void *, uintptr_t)

^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Int, 32, int, int, int)

^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:31:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:29,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/netif.c:42:

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’

    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);

    ^

/tmp/modconfig-DQkPL0/vmnet-only/netif.c: In function ‘VNetNetIf_Create’:

/tmp/modconfig-DQkPL0/vmnet-only/netif.c:191:33: error: dereferencing pointer to incomplete type

       netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead;

                                 ^

/tmp/modconfig-DQkPL0/vmnet-only/netif.c:192:33: error: dereferencing pointer to incomplete type

       netIf->port.jack.procEntry->data = netIf;

                                 ^

make[2]: *** [/tmp/modconfig-DQkPL0/vmnet-only/netif.o] Fehler 1

make[2]: *** Warte auf noch nicht beendete Prozesse...

In file included from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:28:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/hub.c:43:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2558:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Ptr, 64, void const *, void *, uintptr_t)

^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Int, 32, int, int, int)

^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:28:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/driver.c:51:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2558:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Ptr, 64, void const *, void *, uintptr_t)

^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Int, 32, int, int, int)

^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:31:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:29,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/hub.c:43:

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’

    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);

    ^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:31:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:29,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/driver.c:51:

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’

    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);

    ^

/tmp/modconfig-DQkPL0/vmnet-only/hub.c: In function ‘VNetHubFindHubByID’:

/tmp/modconfig-DQkPL0/vmnet-only/hub.c:132:49: warning: argument to ‘sizeof’ in ‘memcmp’ call is the same expression as the first source; did you mean to provide an explicit length? [-Wsizeof-pointer-memaccess]

         memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {

                                                 ^

/tmp/modconfig-DQkPL0/vmnet-only/hub.c: In function ‘VNetHubAlloc’:

/tmp/modconfig-DQkPL0/vmnet-only/hub.c:315:36: warning: argument to ‘sizeof’ in ‘memcpy’ call is the same pointer type ‘uint8 *’ as the destination; expected ‘uint8’ or an explicit length [-Wsizeof-pointer-memaccess]

   memcpy(hub->id.pvnID, id, sizeof id);

                                    ^

/tmp/modconfig-DQkPL0/vmnet-only/hub.c:366:28: error: dereferencing pointer to incomplete type

             jack->procEntry->read_proc = VNetHubProcRead;

                            ^

/tmp/modconfig-DQkPL0/vmnet-only/hub.c:367:28: error: dereferencing pointer to incomplete type

             jack->procEntry->data = jack;

                            ^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:28:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/userif.c:46:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompilePtr’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2558:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Ptr, 64, void const *, void *, uintptr_t)

^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h: In function ‘AtomicAssertOnCompileInt’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2397:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_atomic.h:2562:1: note: in expansion of macro ‘MAKE_ATOMIC_TYPE’

MAKE_ATOMIC_TYPE(Int, 32, int, int, int)

^

In file included from /tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:31:0,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnet.h:29,

                 from /tmp/modconfig-DQkPL0/vmnet-only/vnetInt.h:24,

                 from /tmp/modconfig-DQkPL0/vmnet-only/userif.c:46:

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h: In function ‘MonitorActionSet_AtomicInclude’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/monitorAction_exported.h:91:4: note: in expansion of macro ‘ASSERT_ON_COMPILE’

    ASSERT_ON_COMPILE((ACTION_WORD_SIZE & (ACTION_WORD_SIZE - 1)) == 0);

    ^

make[2]: *** [/tmp/modconfig-DQkPL0/vmnet-only/hub.o] Fehler 1

/tmp/modconfig-DQkPL0/vmnet-only/userif.c: In function ‘VNetUserIfIoctl’:

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/userif.c:810:7: note: in expansion of macro ‘ASSERT_ON_COMPILE’

       ASSERT_ON_COMPILE(VNET_NOTIFY_VERSION == 5);

       ^

/tmp/modconfig-DQkPL0/vmnet-only/vm_assert.h:320:20: warning: typedef ‘AssertOnCompileFailed’ locally defined but not used [-Wunused-local-typedefs]

       typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \

                    ^

/tmp/modconfig-DQkPL0/vmnet-only/userif.c:811:7: note: in expansion of macro ‘ASSERT_ON_COMPILE’

       ASSERT_ON_COMPILE(ACTION_EXPORTED_VERSION == 2);

       ^

/tmp/modconfig-DQkPL0/vmnet-only/userif.c: In function ‘VNetUserIf_Create’:

/tmp/modconfig-DQkPL0/vmnet-only/userif.c:1049:34: error: dereferencing pointer to incomplete type

       userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead;

                                  ^

/tmp/modconfig-DQkPL0/vmnet-only/userif.c:1050:34: error: dereferencing pointer to incomplete type

       userIf->port.jack.procEntry->data = userIf;

                                  ^

make[2]: *** [/tmp/modconfig-DQkPL0/vmnet-only/userif.o] Fehler 1

make[1]: *** [_module_/tmp/modconfig-DQkPL0/vmnet-only] Fehler 2

make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.10.0-6-generic'

make: *** [vmnet.ko] Fehler 2

make: Verlasse Verzeichnis '/tmp/modconfig-DQkPL0/vmnet-only'

Failed to build vmnet.  Failed to execute the build command.

Using 2.6.x kernel build system.

make: Gehe in Verzeichnis '/tmp/modconfig-DQkPL0/vmblock-only'

/usr/bin/make -C /lib/modules/3.10.0-6-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \

   MODULEBUILDDIR= modules

make[1]: Betrete Verzeichnis '/usr/src/linux-headers-3.10.0-6-generic'

  CC [M]  /tmp/modconfig-DQkPL0/vmblock-only/linux/block.o

  CC [M]  /tmp/modconfig-DQkPL0/vmblock-only/linux/control.o

  CC [M]  /tmp/modconfig-DQkPL0/vmblock-only/linux/dentry.o

  CC [M]  /tmp/modconfig-DQkPL0/vmblock-only/linux/file.o

/tmp/modconfig-DQkPL0/vmblock-only/linux/dentry.c:38:4: warning: initialization from incompatible pointer type [enabled by default]

    .d_revalidate = DentryOpRevalidate,

    ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/dentry.c:38:4: warning: (near initialization for ‘LinkDentryOps.d_revalidate’) [enabled by default]

/tmp/modconfig-DQkPL0/vmblock-only/linux/dentry.c: In function ‘DentryOpRevalidate’:

/tmp/modconfig-DQkPL0/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]

       return actualDentry->d_op->d_revalidate(actualDentry, nd);

       ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/dentry.c:104:7: note: expected ‘unsigned int’ but argument is of type ‘struct nameidata *’

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c: In function ‘SetupProcDevice’:

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:211:4: error: implicit declaration of function ‘create_proc_entry’ [-Werror=implicit-function-declaration]

    controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,

    ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:211:21: warning: assignment makes pointer from integer without a cast [enabled by default]

    controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,

                     ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:221:20: error: dereferencing pointer to incomplete type

    controlProcEntry->proc_fops = &ControlFileOps;

                    ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c: In function ‘ExecuteBlockOp’:

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:285:9: warning: assignment from incompatible pointer type [enabled by default]

    name = getname(buf);

         ^

/tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:296:4: warning: passing argument 1 of ‘putname’ from incompatible pointer type [enabled by default]

    putname(name);

    ^

In file included from include/linux/proc_fs.h:8:0,

                 from /tmp/modconfig-DQkPL0/vmblock-only/linux/control.c:28:

include/linux/fs.h:2055:13: note: expected ‘struct filename *’ but argument is of type ‘char *’

extern void putname(struct filename *name);

             ^

cc1: some warnings being treated as errors

make[2]: *** [/tmp/modconfig-DQkPL0/vmblock-only/linux/control.o] Fehler 1

make[2]: *** Warte auf noch nicht beendete Prozesse...

make[1]: *** [_module_/tmp/modconfig-DQkPL0/vmblock-only] Fehler 2

make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-3.10.0-6-generic'

make: *** [vmblock.ko] Fehler 2

make: Verlasse Verzeichnis '/tmp/modconfig-DQkPL0/vmblock-only'

Failed to build vmblock.  Failed to execute the build command.

Hopefully the kernel 3.10 will be supported with the next bundle release.

Greetings

Thilo

Reply
0 Kudos
1 Solution

Accepted Solutions
ALBentleyIII
Contributor
Contributor
Jump to solution

There is a patch for VMWare WS 9.0.2 to play nice with 3.10 kernel here :

https://wiki.archlinux.org/index.php/VMware#3.10_kernels

Or you can wait for VMWare WS 10.0 to come out.....

View solution in original post

Reply
0 Kudos
3 Replies
ALBentleyIII
Contributor
Contributor
Jump to solution

There is a patch for VMWare WS 9.0.2 to play nice with 3.10 kernel here :

https://wiki.archlinux.org/index.php/VMware#3.10_kernels

Or you can wait for VMWare WS 10.0 to come out.....

Reply
0 Kudos
TEphraim
Contributor
Contributor
Jump to solution

Thx a lot ALBentleylll!

That made my day!

Greetings

Thilo

Reply
0 Kudos
ALBentleyIII
Contributor
Contributor
Jump to solution

I'm in the same boat. Diff Distro, same kernel.   I think I will try the Workstation 10.0 Tech preview.  https://my.vmware.com/group/vmware/get-download?downloadGroup=WKST-TP-MAY-2013

Reply
0 Kudos