VMWare 6.0.2 hgfs文件系统编译问题
时间:2007-12-03
来源:互联网
gcc编译该模块时报告的错误是(大意):
filesystem.c:提供给kmem_cache_create的参数太少。
查看源代码,发现该处调用的是compat_kmem_cache_create函数。用grep发现这其实是定义在compat_slab.h头文件的一个宏,并使用了条件编译:
若内核版本小于2.6.22则定义该宏为对kmem_cache_create的调用,并添加最后一个参数为NULL。若否,则没有最后一个参数。
在这个宏的前面,有一段注释:析构函数在2.6.23-pre1中消失。据此推测,kmem_cache_create函数本应有6个参数,但在2.6.23后变成5个。
在经过跟踪后,发现我的系统内核版本为2.6.22。
大家发现这里的错误没有?没错,这是一个弱智错误。因为22并不小于22,所以hgfs模块认为我的系统中的kmem_cache_create只有5个参数,但事实上有6个。
弄清楚了这个问题后,问题就好解决了:
在该文件第27行,原文为
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) | defined(VMW_KMEMCR_HAS_DTOR)
需要改为:
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22) | defined(VMW_KMEMCR_HAS_DTOR)
此后编译便可通过。
作者: 地球发动机 发布时间: 2007-12-03
作者: ghosTM55 发布时间: 2007-12-03
作者: utstar 发布时间: 2007-12-03
作者: d00m3d 发布时间: 2007-12-04
作者: d00m3d
不太明白 hgfs 其实有什麽用处?
|
作者: 地球发动机 发布时间: 2007-12-04
作者: CHII 发布时间: 2007-12-04
作者: 地球发动机
hgfs是VMWare中与主机通讯的一种机制。主机可以籍此与虚拟机共享一个或多个目录,籍此,虚拟机甚至可以不必有网络设备。某些时候,如果你希望虚拟机与主机完全隔离,这就很有用处。比方说,你刚从网络下载怀疑有病毒的文件,主机上不敢运行,就可以推给虚拟机,由它承担风险。这时候,你不敢让虚拟机上网,因为有些病毒能透过网络传播。而如果没有网络,如何让虚拟机执行怀疑带毒文件呢?有了hgfs事情不就简单了吗?
|
作者: d00m3d 发布时间: 2007-12-04
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28