更新

更新

我已经在 Ubuntu 10.10 上安装了 Vmware 6.5...

当我启动 vmware player/workstation 时,它要求 Linux 内核头进行一些编译,但我无法找到适当的包,请参见下面的图片......

错误信息

更新

运行以下命令后

sudo -s    
cd /lib/modules/$(uname -r)/build/include/linux    
ln -s ../generated/utsrelease.h    
ln -s ../generated/autoconf.h

错误已更改如下....

ERROR: modinfo: could not find module vmmon
ERROR: modinfo: could not find module vmnet
ERROR: modinfo: could not find module vmblock
ERROR: modinfo: could not find module vmci
ERROR: modinfo: could not find module vsock

使用 2.6.x 内核构建系统。make:进入目录/tmp/vmware-root/modules/vmmon-only' make -C /lib/modules/2.6.35-22-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make[1]: Entering directory/usr/src/linux-headers-2.6.35-22-generic' CC [M] /tmp/vmware-root/modules/vmmon-only/linux/driver.o 在从 /tmp/vmware-root/modules/vmmon-only/linux/driver.c:31 包含的文件中:/tmp/vmware-root/modules/vmmon-only/./include/compat_wait.h:78:错误:'poll_initwait' 的类型冲突 include/linux/poll.h:72:注意:'poll_initwait' 的先前声明在这里

答案1

采纳 Greg Suarez 的建议后,您需要修补一些内容才能使其正常工作。摘自(并更正):http://blog.gnu-designs.com/solved-building-vmware-workstation-modules-on-linux-2-6-32

tar xvf /usr/lib/vmware/modules/source/vmnet.tar -C /tmp
tar xvf /usr/lib/vmware/modules/source/vmci.tar -C /tmp

cd /tmp

perl -pi -e 's,("vnetInt.h"),\1\n#include "compat_sched.h",' vmnet-only/vnetUserListener.c
perl -pi -e 's,("compat_page.h"),\1\n#include "compat_sched.h",' vmci-only/include/pgtbl.h

tar cvf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only
tar cvf /usr/lib/vmware/modules/source/vmci.tar vmci-only

现在你应该可以继续安装 vmplayer/workstation

答案2

请尝试以下操作:

sudo -s

cd /lib/modules/$(uname -r)/build/include/linux

ln -s ../generated/utsrelease.h

ln -s ../generated/autoconf.h

答案3

我也是。ln 的东西很棒,但似乎 vmware 模块一般都是为较旧的内核编写的。在确保 autoconf.h 和 utsversion.h 位于 vmware 期望的位置后,我在 poll.h 中得到了相同的冲突类型错误。

我可以将脚本用于构建模块的 Makefile 更改为使用 -DVMW_HAVE_EPOLL,这可以解决问题,但随后会弹出另一个错误。看来这个模块代码不适合 Ubuntu。

答案4

也许该包没有安装,请尝试:

sudo apt-get install linux-headers-`uname -r`

相关内容