有些结构定义发生了变化,导致vmnet无法编译,我们只能手动修改一下源代码并期待官方新版。
参考文章:
https://communities.vmware.com/message/2469395
1、解压vmnet源代码
cd /usr/lib/vmware/modules/source
tar xvf vmnet.tar
解压之后目录名为:vmnet-only
不能忘记备份:cp vmnet.tar vmnet.tar.bak
2、修改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
#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
tar cv vmnet.tar vmnet-only
也可以直接下载补丁文件:
http://forums.fedoraforum.org/showthread.php?t=303726