有些结构定义发生了变化,导致vmnet无法编译,我们只能手动修改一下源代码并期待官方新版。
参考文章:
1、解压vmnet源代码
cd /usr/lib/vmware/modules/source tar xvf vmnet.tar 解压之后目录名为:vmnet-only 不能忘记备份:cp vmnet.tar vmnet.tar.bak2、修改userif.c,找到VNetCopyDatagram函数,改为:
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) return skb_copy_datagram_iovec(skb, 0, &iov, len);#else struct iov_iter to; iov_iter_init(&to, READ, &iov, 1, len); return skb_copy_datagram_iter(skb, 0, &to, len);#endif
3、修改driver.c,原来的1194和1195行改为:
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) if (filp && filp->f_dentry) { inode = filp->f_dentry->d_inode; }#else if (filp && filp->f_path.dentry) { inode = filp->f_path.dentry->d_inode; }#endif
4、打包并再次运行VMware Workstation tar cv vmnet.tar vmnet-only
也可以直接下载补丁文件:http://forums.fedoraforum.org/showthread.php?t=303726