我已经在 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`