Contributor
Contributor

Errors building 8.0.3 vmnet module on Fedora 16

After upgrading to Workstation v8.0.3 on fully-updated Fedora16/x86_64 I get this

# /usr/bin/vmware-modconfig --console --install-all

[snip]

make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/3.3.2-6.fc16.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.x86_64'
CC [M]  /tmp/vmware-root/modules/vmnet-only/driver.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/userif.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/hub.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/netif.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/bridge.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/filter.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/procfs.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/smac_compat.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/smac.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
/tmp/vmware-root/modules/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
/tmp/vmware-root/modules/vmnet-only/userif.c:520:3: error: incompatible type for argument 1 of ‘kmap’
include/linux/highmem.h:48:21: note: expected ‘struct page *’ but argument is of type ‘const struct <anonymous>’
/tmp/vmware-root/modules/vmnet-only/userif.c:523:3: error: incompatible type for argument 1 of ‘kunmap’
include/linux/highmem.h:54:20: note: expected ‘struct page *’ but argument is of type ‘const struct <anonymous>’
/tmp/vmware-root/modules/vmnet-only/filter.c:60:16: error: ‘THIS_MODULE’ undeclared here (not in a function)
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/userif.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/filter.o] Error 1
/tmp/vmware-root/modules/vmnet-only/netif.c: In function ‘VNetNetIfSetup’:
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: initialization from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: (near initialization for ‘vnetNetifOps.ndo_validate_addr’) [enabled by default]
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/netif.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.x86_64'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Unable to install vmnet

0 Kudos
18 Replies
Contributor
Contributor

I have the same problem, and would really appreciate some guidence.

Nearly every update breaks this. If I could understand what's going on I could try to build a script  to handle it.

0 Kudos
Immortal
Immortal

Hi  swsnyder8

Welcome to the community .

Have you made any changes on config.h .

If no please create that config.h file through below command

touch /usr/src/kernels/`uname -r`-i686/include/linux/config.h.

Life is never easy for those who dream"
0 Kudos
Contributor
Contributor

I'm assuming that was a typo as my system is x86_64, not i686.  In any case there is difference in behavior.

# uname -r
3.3.4-1.fc16.x86_64

# touch /usr/src/kernels/3.3.4-1.fc16.x86_64/include/linux/config.h

# /usr/bin/vmware-modconfig --console --install-all
[snip]
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/3.3.4-1.fc16.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.4-1.fc16.x86_64'
CC [M]  /tmp/vmware-root/modules/vmnet-only/driver.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/hub.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/userif.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/netif.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/bridge.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/filter.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/procfs.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/smac.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/smac_compat.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
/tmp/vmware-root/modules/vmnet-only/filter.c:60:16: error: ‘THIS_MODULE’ undeclared here (not in a function)
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/filter.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/tmp/vmware-root/modules/vmnet-only/netif.c: In function ‘VNetNetIfSetup’:
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: error: unknown field ‘ndo_set_multicast_list’ specified in initializer
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: initialization from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmnet-only/netif.c:134:7: warning: (near initialization for ‘vnetNetifOps.ndo_validate_addr’) [enabled by default]
/tmp/vmware-root/modules/vmnet-only/userif.c: In function ‘VNetCsumCopyDatagram’:
/tmp/vmware-root/modules/vmnet-only/userif.c:520:3: error: incompatible type for argument 1 of ‘kmap’
include/linux/highmem.h:48:21: note: expected ‘struct page *’ but argument is of type ‘const struct <anonymous>’
/tmp/vmware-root/modules/vmnet-only/userif.c:523:3: error: incompatible type for argument 1 of ‘kunmap’
include/linux/highmem.h:54:20: note: expected ‘struct page *’ but argument is of type ‘const struct <anonymous>’
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/netif.o] Error 1
make[2]: *** [/tmp/vmware-root/modules/vmnet-only/userif.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.3.4-1.fc16.x86_64'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Unable to install vmnet

0 Kudos
Contributor
Contributor

Hi, All:

     Firstly, I has the same error ,  but after I modify  patch-modules_3.2.0.sh   ( only change vmreqver from 8.0.2 to 8.0.3 and  plreqver from 4.0.2 to 4.0.3 )  and  also done this command       touch /usr/src/kernels/`uname-r`-i686/include/linux/config.h

then  re-run  /usr/bin/vmware-modconfig --console --install-all

What is the next step  should I do ?

Here is  log

===============================================

[root@u31f z]#
[root@u31f z]#
[root@u31f z]#
[root@u31f z]# /usr/bin/vmware-mo
vmware-modconfig  vmware-mount    
[root@u31f z]# /usr/bin/vmware-modconfig --console --install-all
Stopping vmware (via systemctl):                           [  OK  ]
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/apic.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/hashFunc.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/vmx86.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/task.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/comport.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-root/modules/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-root/modules/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-root/modules/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Built vmmon module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
  CC [M]  /tmp/vmware-root/modules/vmnet-only/driver.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/hub.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/userif.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/netif.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/bridge.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/filter.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/procfs.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/smac_compat.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/smac.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetEvent.o
  CC [M]  /tmp/vmware-root/modules/vmnet-only/vnetUserListener.o
  LD [M]  /tmp/vmware-root/modules/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-root/modules/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-root/modules/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmnet-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-root/modules/vmnet-only'
Built vmnet module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmblock-only'
make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/dbllnklst.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/stubs.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/dentry.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/file.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/block.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/module.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/super.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/filesystem.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/inode.o
  CC [M]  /tmp/vmware-root/modules/vmblock-only/linux/control.o
  LD [M]  /tmp/vmware-root/modules/vmblock-only/vmblock.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-root/modules/vmblock-only/vmblock.mod.o
  LD [M]  /tmp/vmware-root/modules/vmblock-only/vmblock.ko
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmblock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmblock-only'
cp -f vmblock.ko ./../vmblock.o
make: Leaving directory `/tmp/vmware-root/modules/vmblock-only'
Built vmblock module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmci-only'
make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
  CC [M]  /tmp/vmware-root/modules/vmci-only/linux/driver.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/linux/vmciKernelIf.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciDriver.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciResource.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciDatagram.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciContext.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciHashtable.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciEvent.o
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘__check_disable_host’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:2498:90: warning: return from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘__check_disable_guest’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:2501:91: warning: return from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘__check_disable_msi’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:2504:89: warning: return from incompatible pointer type [enabled by default]
/tmp/vmware-root/modules/vmci-only/linux/driver.c: In function ‘__check_disable_msix’:
/tmp/vmware-root/modules/vmci-only/linux/driver.c:2507:90: warning: return from incompatible pointer type [enabled by default]
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciQueuePair.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciDoorbell.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciQPair.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/common/vmciRoute.o
  CC [M]  /tmp/vmware-root/modules/vmci-only/driverLog.o
  LD [M]  /tmp/vmware-root/modules/vmci-only/vmci.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-root/modules/vmci-only/vmci.mod.o
  LD [M]  /tmp/vmware-root/modules/vmci-only/vmci.ko
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vmci-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vmci-only'
cp -f vmci.ko ./../vmci.o
make: Leaving directory `/tmp/vmware-root/modules/vmci-only'
Built vmci module
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vsock-only'
make -C /lib/modules/3.3.2-6.fc16.i686.PAE/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/af_vsock.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/vsockAddr.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/notifyQState.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/util.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/stats.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/linux/notify.o
  CC [M]  /tmp/vmware-root/modules/vsock-only/driverLog.o
  LD [M]  /tmp/vmware-root/modules/vsock-only/vsock.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-root/modules/vsock-only/vsock.mod.o
  LD [M]  /tmp/vmware-root/modules/vsock-only/vsock.ko
make[1]: Leaving directory `/usr/src/kernels/3.3.2-6.fc16.i686.PAE'
make -C $PWD SRCROOT=$PWD/. \
  MODULEBUILDDIR= postbuild
make[1]: Entering directory `/tmp/vmware-root/modules/vsock-only'
make[1]: `postbuild' is up to date.
make[1]: Leaving directory `/tmp/vmware-root/modules/vsock-only'
cp -f vsock.ko ./../vsock.o
make: Leaving directory `/tmp/vmware-root/modules/vsock-only'
Built vsock module
Starting vmware (via systemctl):  Job failed. See system logs and 'systemctl status' for details.
                                                           [FAILED]
Unable to start services
0 Kudos
Contributor
Contributor

I am having this same error on 3.2.8-1-ARCH.  touch/usr/src/linux-3.2.8-1-ARCH/include/linux/config.h did not solve this issue.

0 Kudos
Contributor
Contributor

I am out of the office and will be back tomorrow morning 09:00Hrs. I will not have any access to email. In my absence please contact support on 0845 223 6010 or email support, csp@softbrands.com.

0 Kudos
Contributor
Contributor

I have run into the exact same situation, have Fedora 16 and upgraded this morning to 8.0.3 and now it doesn't work.

Previously resolved this - also had issues when upgrading to 8.0.2 which was resolved by a custom patch....not sure if a new patch is around somewhere?

This old patch i'm referring to is here: http://communities.vmware.com/message/2018721

Nick

0 Kudos
Contributor
Contributor

+1 - same problem here building the vmnet module.  Arch 3.3.4-2

I always regret saying yes to the Workstation updates,  you'd think I'd learn by now.  I've been using it since version 5 and I don't think I've ever had an update go cleanly.

0 Kudos
Contributor
Contributor

0 Kudos
Contributor
Contributor

Patch file improved a bit...

0 Kudos
Contributor
Contributor

Got this working!

Found that the new vmnet.tar was required as well as the instructions to edit the old patch file to use the new versions (8.0.2 -> 8.0.3 & 4.0.2 -> 4.0.3) by hand and remove the ./patched folder was the key.

0 Kudos
Contributor
Contributor

Dear, nwurster

I've done all those steps, and having the exact same problem :smileycry:...

Can you please expand the exact steps you've performed ??

I copy the vmnet.tar (from the post), edited the script, and I didn't find the "patched" directory (maybe it is because I've installed VMware 8.0.3 on a fresh OS, and not upgrading from 8.0.2 ?).

Can you please try to remember what else have you done ??

Thanks,

    Arik.

nwurster wrote:

Got this working!

Found that the new vmnet.tar was required as well as the instructions to edit the old patch file to use the new versions (8.0.2 -> 8.0.3 & 4.0.2 -> 4.0.3) by hand and remove the ./patched folder was the key.

0 Kudos
Contributor
Contributor

After all the steps applied, make sure to restart vmware by:

vmware restart

* run as root and/or sudo if necessary

Hope that helps!

0 Kudos
Contributor
Contributor

Yeah, I even restarted my Fedora... nothing new.

I just can't believe that I wasting 4 days on this sh**... :smileyshocked:

Maybe somebody else successeded ??

Thanks.

0 Kudos
Contributor
Contributor

Worked beautifully. Thanks!

0 Kudos
Contributor
Contributor

Please Explane step by step as am facing the same problem and am new in linuxe and am runnin fedora 16 so please please i need help

0 Kudos
Enthusiast
Enthusiast

0 Kudos
Contributor
Contributor

Hello all,

Attached is a revised patch to support VMWare player 4.0.4, as well as Debain and Ubuntu and also, to exec from any CWD.

Also, if detection of header location does not succeed, one can pass the sources dir as the first argument.

Like so:

#  /home/jess/downloads/patch-modules_3.3.4.sh /usr/src/linux-headers-3.2.0-2-amd64

Enjoy.

May the source be with you,

Jess Portnoy

May the source be with you, Jess Portnoy
0 Kudos