[ubuntu]安装vmware时找不到c header files的小问题

很多人都是用xp作主系统,然后用vmware虚拟一个linux学习,我现在的做法却恰恰相反,我用ubuntu作主系统,然后虚拟一个xp用于工作 :)。

vmware下载和安装就不说了,安装完成之后,运行vmware-config.pl的时候,会有一步是询问内核的头文件在哪里:

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]

由于ubuntu 6.06 dapper的内核版本是,2.6.15,所以就没法找到,网上说这是vmware自己的问题,到http://ftp.cvut.cz/vmware/下载一个vmware-any-any-updatexxx.tar.gz装上,然后再次运行vmware-config.pl就能够找到正确的地址了:

What is the location of the directory of C header files that match your running kernel? [/lib/modules/2.6.15-22-386/build/include]

参考1参考2(这里还有关于安装鼠标的讨论),参考3

可怜我一开始没有安装linux-headers,而是傻傻的下载安装了一个linux-source-2.6,70多M,下载了1个多小时啊。。。 (注意安装的headers版本要和当前运行的一样,386和686版本要分清)

🙂

vmware 5.5.1 19175 linux 版的注册码: J3E6J-V6G4M-Y84DY-4YXQQ GC4K9-FMC0A-1A0FV-4YEX2

附上一张截图,哈哈。

在linux下运行vmware的截图

update @ 20060510: 我安装使用的xp是一个什么秋无痕告别2004什么的版本,里面有4种安装方式,自动/手动安装免激活版、自动/手动安装零售版,一开始选择两个手动安装的版本,一到同意完协议,“正在安装设备”的时候,就停住了,剩余37分钟,再也不前进了,后来偶然选了一个自动安装零售版的,居然就没事了。

update @ 2007-02-12

ubuntu升级到edgy之后,vmware又罢工了(另外一台机就没事),提示vmmon编译什么的错误,就像这样,解决方法为:到/usr/lib/vmware/modules/source下,新建一个脚本:

for foo in vmmon vmnet; do 
    tar xf $foo.tar
    perl -pi -e 's,-Werror,-DKBUILD_BASENAME=\\"\$\(DRIVER\)\\" \\\n\t-Werror,g' ${foo}-only/Makefile.kernel
    mv ${foo}.tar ${foo}.tar.vm
    tar cf ${foo}.tar ${foo}-only
done

赋予执行权限,执行,然后再vmware-config.pl就可以了。 参考一参考二(我手工改就不行,用脚本就可以了,怎么回事捏?)。

Update @ 2007-04-24

升级到feisty之后,内核升级到了2.6.20-15,vmware又找不到c header了,到这里再下载一个any-any补丁,运行后就可以了。

Update @ 2007-11-03

升级到ubuntu 7.10 Gutsy之后,也是需要安装这个补丁,补丁也升级了:http://knihovny.cvut.cz/ftp/pub/vmware/vmware-any-any-update113.tar.gz,参见Installing VMware Products on Unsupported Linux Distributions

Update @ 2008-06-23

升级到Ubuntu 8.04 Hardy之后,安装补丁http://blog.creonfx.com/temp/vmware-any-any-update-116.tgz,参见How-to Install VMware Player / Workstation on 2.6.24 Kernel,不过配置正常后运行出现错误:

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)
/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)

按照回复中的内容更改了几个so文件之后,错误更离谱了,无从下手,只好重新安装了个VMware Player 2.0.3.80004 For Linux,config时依然需要应用上面哪个any-any补丁,然后就能跑起来了。

后来安装VMware Workstation 6.5 Build 91182 Beta for Linux就顺利多了,一下就成功了,从官网上可以申请到30天试用的序列号。

vmware功能丰富但每次升级内核以后配置都很麻烦,virtualbox升级方便些但少一点功能,真的是很难选择呢。

参考

4 thoughts on “[ubuntu]安装vmware时找不到c header files的小问题”

  1. 不知道你是不是原创,我下载了vmware-any-any-update108.tar.gz 安装后仍然找不到c hearder 如果说没装c的话,编译程序是可以的,请问知道怎么回事马?

    我用的ubuntu edgy 2.6.17-11-386 vmware-gsx 3.2

    Reply

  2. 本站基本都是原创文章 你的问题我觉得是没有安装linux-headers-2.6.17-11-386, vmware需要的是linux的header 不是编译程序时使用的c header 另vmware-gsx是什么?

    Reply

  3. 不需要什么any包 直接 uname -a 下,看下当前内核版本 然后aptitude search linux-headers 搜索下对应的版本

    然后 aptitude install linux-headers--* 就OK了

    注意, server 的包是独立的,也就是说如果是ubuntu server的话,直接aptitude install linux-headers-server 就可以了

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *