免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1564 | 回复: 0
打印 上一主题 下一主题

如果安装vmwaretools在编译时提示get_info不存在的error,看这个 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-30 04:46 |只看该作者 |倒序浏览
这两天终于经过重重折腾把vmwaretools装到fedora 9上了,现在虚拟机用起来终于比较爽了。
各功能似乎都齐全,鼠标能平滑过渡,定位准确,屏幕分辨率可以随窗口大小变换,可以在虚拟机和explorer间拖动文件,想不出还有什么其他的了。
btw,我用的是自己编译的2.6.26.5-49的核。虚拟机和vmwaretools都是vmware 6.0.5版本。
安装vmwaretools方法网上有,不赘述。
但我在编译安装的过程中提示错误,os.c中500多行,一个结构体中的成员get_info无法找到。vmmemctl这个驱动模块最终没有编译成功。
查了下源文件,不知从哪一个版本开始,那个结构体的get_info接口被一个新的read_proc接口取代了,故有此问题。
如果出现上述问题,解决办法如下(没出现的就不要瞎改了):
将vmwaretools的gzip包解开,在找到其lib/module/source/os.c文件,修改两处:
190多行的地方:
找到
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
static int os_proc_read(char *, char **, off_t, int);
static struct proc_dir_entry *global_proc_entry;
改为:
#if    LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)   //换成自己的内核版本号
static int os_proc_read(char *, char **, off_t, int, int *, void *);
static struct proc_dir_entry *global_proc_entry;
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
static int os_proc_read(char *, char **, off_t, int);
static struct proc_dir_entry *global_proc_entry;
500多行的地方:
找到
#if    LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
   global_proc_entry = create_proc_entry("vmmemctl", S_IFREG | S_IRUGO, NULL);
   if (global_proc_entry != NULL) {
      global_proc_entry->get_info = os_proc_read;
   }
改为:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)    //改成你自己的内核版本
   global_proc_entry = create_proc_entry("vmmemctl", S_IFREG | S_IRUGO, NULL);
   if (global_proc_entry != NULL) {
      global_proc_entry->read_proc = os_proc_read;
   }
#elif     LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
   global_proc_entry = create_proc_entry("vmmemctl", S_IFREG | S_IRUGO, NULL);
   if (global_proc_entry != NULL) {
      global_proc_entry->get_info = os_proc_read;
   }

os.7z

4.01 KB, 下载次数: 31

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP