You are not logged in.
Hello,
Been using arch for a few weeks now and really like it. I have had vmware workstation 12.1.1 working fine with the 4.6 kernel after following the wiki but today I updated and got the 4.7 kernel now vmwares modules won't compile. I've done some research before asking and found this:
[root@localhost vmnet-only]# uname -a
Linux localhost 4.7.0-1-ARCH #1 SMP PREEMPT Mon Aug 8 22:05:58 CEST 2016 x86_64 GNU/Linux
http://rglinuxtech.com/?p=1748
Thanks to g, from their comment on my previous article ( http://rglinuxtech.com/?p=1746 ), there may be a more correct vmnet fix than simply ‘commenting out the code’.. Replace dev->trans_start = jiffies with netif_trans_update(dev) in netif.c
And, I done this:
}
/*
* Block a timer-based transmit from overlapping. This could better be
* done with atomic_swap(1, dev->tbusy), but set_bit() works as well.
* If this ever occurs the queue layer is doing something evil!
*/
VNetSend(&netIf->port.jack, skb);
netIf->stats.tx_packets++;
netif_trans_update(dev);
return 0;
}
But, it still not compiling and I'm not sure what I'm doing wrong.
[root@localhost vmnet-only]# vmware-modconfig --console --install-all
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
make: Entering directory '/tmp/modconfig-fVhjg6/vmmon-only'
Using kernel build system.
/sbin/make -C /lib/modules/4.7.0-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/4.7.0-1-ARCH/build'
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/cpuid.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/task.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/hashFunc.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/comport.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/common/phystrack.o
CC [M] /tmp/modconfig-fVhjg6/vmmon-only/vmcore/moduleloop.o
/tmp/modconfig-fVhjg6/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Free() falls through to next function PhysTrack_Add()
/tmp/modconfig-fVhjg6/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Add() falls through to next function PhysTrack_Remove()
/tmp/modconfig-fVhjg6/vmmon-only/common/phystrack.o: warning: objtool: PhysTrack_Remove() falls through to next function PhysTrack_Test()
/tmp/modconfig-fVhjg6/vmmon-only/common/task.o: warning: objtool: .text: unexpected end of section
/tmp/modconfig-fVhjg6/vmmon-only/linux/driver.c:1283:1: warning: always_inline function might not be inlinable -Wattributes]
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
^~~~~~~~~~~~~~~~~~~~~~~
LD [M] /tmp/modconfig-fVhjg6/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/modconfig-fVhjg6/vmmon-only/vmmon.mod.o
LD [M] /tmp/modconfig-fVhjg6/vmmon-only/vmmon.ko
make[1]: Leaving directory '/usr/lib/modules/4.7.0-1-ARCH/build'
/sbin/make -C $PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= postbuild
make[1]: Entering directory '/tmp/modconfig-fVhjg6/vmmon-only'
make[1]: 'postbuild' is up to date.
make[1]: Leaving directory '/tmp/modconfig-fVhjg6/vmmon-only'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory '/tmp/modconfig-fVhjg6/vmmon-only'
make: Entering directory '/tmp/modconfig-fVhjg6/vmnet-only'
Using kernel build system.
/sbin/make -C /lib/modules/4.7.0-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[1]: Entering directory '/usr/lib/modules/4.7.0-1-ARCH/build'
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/driver.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/hub.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/userif.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/netif.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/bridge.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/procfs.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/smac_compat.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/smac.o
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/vnetEvent.o
In file included from include/linux/pci.h:35:0,
from /tmp/modconfig-fVhjg6/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-fVhjg6/vmnet-only/netif.c:43:
include/linux/pci_ids.h:2253:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
#define PCI_VENDOR_ID_VMWARE 0x15ad
In file included from /tmp/modconfig-fVhjg6/vmnet-only/net.h:38:0,
from /tmp/modconfig-fVhjg6/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-fVhjg6/vmnet-only/netif.c:42:
/tmp/modconfig-fVhjg6/vmnet-only/vm_device_version.h:56:0: note: this is the location of the previous definition
#define PCI_VENDOR_ID_VMWARE 0x15AD
CC [M] /tmp/modconfig-fVhjg6/vmnet-only/vnetUserListener.o
/tmp/modconfig-fVhjg6/vmnet-only/netif.c: In function 'VNetNetifStartXmit':
/tmp/modconfig-fVhjg6/vmnet-only/netif.c:468:7: error: 'struct net_device' has no member named 'trans_start'; did you mean 'mem_start'?
dev->trans_start = jiffies;
^~
make[2]: *** [scripts/Makefile.build:290: /tmp/modconfig-fVhjg6/vmnet-only/netif.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /tmp/modconfig-fVhjg6/vmnet-only/net.h:38:0,
from /tmp/modconfig-fVhjg6/vmnet-only/vnetInt.h:26,
from /tmp/modconfig-fVhjg6/vmnet-only/bridge.c:52:
/tmp/modconfig-fVhjg6/vmnet-only/vm_device_version.h:56:0: warning: "PCI_VENDOR_ID_VMWARE" redefined
#define PCI_VENDOR_ID_VMWARE 0x15AD
In file included from include/linux/pci.h:35:0,
from /tmp/modconfig-fVhjg6/vmnet-only/compat_netdevice.h:27,
from /tmp/modconfig-fVhjg6/vmnet-only/bridge.c:51:
include/linux/pci_ids.h:2253:0: note: this is the location of the previous definition
#define PCI_VENDOR_ID_VMWARE 0x15ad
make[1]: *** [Makefile:1457: _module_/tmp/modconfig-fVhjg6/vmnet-only] Error 2
make[1]: Leaving directory '/usr/lib/modules/4.7.0-1-ARCH/build'
make: *** [Makefile:120: vmnet.ko] Error 2
make: Leaving directory '/tmp/modconfig-fVhjg6/vmnet-only'
Unable to install all modules. See log for details.
I know it says see the logs but not sure what or where it is..not a dev. Thanks in advance!
Offline
Nobody can help? : ( I have the same issue and I'm getting really tired of this. It's happening at almost every new kernel release : (
Offline
It worked for me though, these are the steps that I followed.
# cd /usr/lib/vmware/modules/source
# tar xf vmnet.tar
# mv vmnet.tar vmnet.old.tar
# sed -i -e 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' vmnet-only/netif.c
# tar cf vmnet.tar vmnet-only
# rm -r vmnet-only
# vmware-modconfig --console --install-all
Last edited by glavin (2016-08-12 09:19:28)
Speak your mind even if your voice shakes.
Offline
Just worked for le too actually. I think OP forgot a semicolon. Got the same error with the missing ;
Offline
It worked for me though, these are the steps that I followed.
# cd /usr/lib/vmware/modules/source # tar xf vmnet.tar # mv vmnet.tar vmnet.old.tar # sed -i -e 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' vmnet-only/userif.c # tar cf vmnet.tar vmnet-only # rm -r vmnet-only # vmware-modconfig --console --install-all
You mean netif.c instead of userif.c?
# tar -xvf vmnet.tar
# cd vmnet-only
# sed -i -e 's/dev->trans_start = jiffies/netif_trans_update(dev)/g' netif.c
# make
# cd ..
# sudo cp vmnet.o /lib/modules/`uname -r`/kernel/drivers/misc/vmnet.ko.gz
Restart and reload vmware modules
# sudo depmod -a
# sudo systemctl restart vmware
CMIIW
Last edited by petruknisme (2016-08-12 08:13:14)
Offline
Is this a packaging problem?
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
@petruknisme: I think it is netif.c as well, changing netif.c worked for me
@glavin: can you please confirm and edit your post
Offline
@petruknisme: my bad it was netif.c, corrected my post.
Thanks
Last edited by glavin (2016-08-12 09:21:54)
Speak your mind even if your voice shakes.
Offline
Great worked for me thanks on kernel 4.7.0-1-ARCH and Vmware Worksstation 12.1.1
Offline
Nobody can help? : ( I have the same issue and I'm getting really tired of this. It's happening at almost every new kernel release : (
You can always run linux-lts kernel.
This is par for the course with proprietary software on rolling release distros (or even distros that release often enough).
VMWare mostly intends for Workstation to be run on stable releases of Ubuntu and RHEL and clones.
They did fix the theming bugs that plagued Workstation since last year's 12.0 release but it takes too long.
Offline
Is this a packaging problem?
No, it looks like a bug on VMWare's part. Not to say they'll have any incentive to do anything about it until RHEL or Ubuntu eventually reach >=4.7 kernel.
This could very easily be remedied in a PKGBUILD by adding that sed command to the build(){} though.
Last edited by Hydranix (2016-08-12 20:45:13)
Offline
This could very easily be remedied in a PKGBUILD by adding that sed command to the build(){} though.
Did you report it and the solution?
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
I cleaned out the source and started again, patched according to the 4.6 source edits and added the 4.7 patch ...on the wiki.
sed -i -e 's/dev->trans_start = jiffies/netif_trans_update\(dev\)/g' vmnet-only/netif.c # Only for kernel 4.7 or later.
I have it working now on 4.7 but dam this was frustrating and now I'm gun shy on keeping updated.
Offline
If the solution is patching a file that the Arch package provides and then recompiling, you should create a bug report.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
When I run:
# dkms install vmware-modules/12 -k $(uname -r)
It says foolowing;
Building module:
cleaning build area...
make KERNELRELEASE=4.7.6-1-ARCH all...(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.7.6-1-ARCH (x86_64)
Consult /var/lib/dkms/vmware-modules/12/build/make.log for more information.
[root@HP2159V Downloads]# vmware-modconfig --console --install-all
Stopping VMware services:
VMware Authentication Daemon done
VM communication interface socket family done
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface failed
VM communication interface socket family failed
Blocking file system done
Virtual ethernet done
VMware Authentication Daemon done
Unable to start services
What can I do after that?
(Note: Before that I did these things;
cd /usr/lib/vmware/modules/source
# tar xf vmmon.tar
# mv vmmon.tar vmmon.old.tar
# sed -r -i -e 's/get_user_pages(_remote)*/get_user_pages_remote/g' vmmon-only/linux/hostif.c
# tar cf vmmon.tar vmmon-only
# rm -r vmmon-only
# tar xf vmnet.tar
# mv vmnet.tar vmnet.old.tar
# sed -r -i -e 's/get_user_pages(_remote)*/get_user_pages_remote/g' vmnet-only/userif.c
# sed -i -e 's/dev->trans_start = jiffies/netif_trans_update\(dev\)/g' vmnet-only/netif.c
# tar cf vmnet.tar vmnet-only
# rm -r vmnet-only
And my make.log is:
---------------------------------
DKMS make.log for vmware-modules-12 for kernel 4.7.6-1-ARCH (x86_64)
Wed Oct 5 00:05:52 EEST 2016
vmware-modconfig --console --build-mod -k 4.7.6-1-ARCH vmmon /sbin/gcc /usr/lib/modules/4.7.6-1-ARCH/build/include vmware/
make[1]: Entering directory '/tmp/modconfig-B0usbh/vmmon-only'
Using kernel build system.
/sbin/make -C /usr/lib/modules/4.7.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
MODULEBUILDDIR= modules
make[2]: Entering directory '/usr/lib/modules/4.7.6-1-ARCH/build'
CC [M] /tmp/modconfig-B0usbh/vmmon-only/linux/driver.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/linux/driverLog.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/common/memtrack.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/common/apic.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/common/vmx86.o
CC [M] /tmp/modconfig-B0usbh/vmmon-only/common/cpuid.o
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c: In function ‘HostIFGetUserPages’:
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:1166:35: warning: passing argument 1 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
retval = get_user_pages_remote((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
^
In file included from /tmp/modconfig-B0usbh/vmmon-only/./include/compat_page.h:23:0,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:32:
include/linux/mm.h:1250:6: note: expected ‘struct task_struct *’ but argument is of type ‘long unsigned int’
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:1166:58: warning: passing argument 2 of ‘get_user_pages_remote’ makes pointer from integer without a cast [-Wint-conversion]
retval = get_user_pages_remote((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
^~~~~~~~
In file included from /tmp/modconfig-B0usbh/vmmon-only/./include/compat_page.h:23:0,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:32:
include/linux/mm.h:1250:6: note: expected ‘struct mm_struct *’ but argument is of type ‘unsigned int’
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:1166:74: warning: passing argument 5 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
retval = get_user_pages_remote((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
^~~~~~
In file included from /tmp/modconfig-B0usbh/vmmon-only/./include/compat_page.h:23:0,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:32:
include/linux/mm.h:1250:6: note: expected ‘int’ but argument is of type ‘struct page **’
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
In file included from ./include/uapi/linux/posix_types.h:4:0,
from include/uapi/linux/types.h:13,
from include/linux/types.h:5,
from /tmp/modconfig-B0usbh/vmmon-only/./include/driver-config.h:71,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:29:
include/linux/stddef.h:7:14: warning: passing argument 6 of ‘get_user_pages_remote’ makes integer from pointer without a cast [-Wint-conversion]
#define NULL ((void *)0)
^
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:1166:82: note: in expansion of macro ‘NULL’
retval = get_user_pages_remote((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
^~~~
In file included from /tmp/modconfig-B0usbh/vmmon-only/./include/compat_page.h:23:0,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:32:
include/linux/mm.h:1250:6: note: expected ‘int’ but argument is of type ‘void *’
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:1166:13: error: too few arguments to function ‘get_user_pages_remote’
retval = get_user_pages_remote((unsigned long)uvAddr, numPages, 0, 0, ppages, NULL);
^~~~~~~~~~~~~~~~~~~~~
In file included from /tmp/modconfig-B0usbh/vmmon-only/./include/compat_page.h:23:0,
from /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.c:32:
include/linux/mm.h:1250:6: note: declared here
long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
^~~~~~~~~~~~~~~~~~~~~
CC [M] /tmp/modconfig-B0usbh/vmmon-only/common/task.o
make[3]: *** [scripts/Makefile.build:289: /tmp/modconfig-B0usbh/vmmon-only/linux/hostif.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/tmp/modconfig-B0usbh/vmmon-only/linux/driver.c:1283:1: warning: always_inline function might not be inlinable [-Wattributes]
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
^~~~~~~~~~~~~~~~~~~~~~~
/tmp/modconfig-B0usbh/vmmon-only/common/task.o: warning: objtool: .text: unexpected end of section
make[2]: *** [Makefile:1458: _module_/tmp/modconfig-B0usbh/vmmon-only] Error 2
make[2]: Leaving directory '/usr/lib/modules/4.7.6-1-ARCH/build'
make[1]: *** [Makefile:120: vmmon.ko] Error 2
make[1]: Leaving directory '/tmp/modconfig-B0usbh/vmmon-only'
make: *** [Makefile:28: vmmon.ko] Error 1
Last edited by ferikerik (2016-10-07 20:54:45)
Offline
Please use code tags for the output.
Matt
"It is very difficult to educate the educated."
Offline
So, What am I going to do resolve this?
Offline
Is there anybody to help me?
Offline