解决virtualbox安装增强工具失败的问题
virtualbox有个增强工具,安装之后用户体验是非常爽的。但是有些时候在安装增强工具会遇到一些小问题,无非是没有安装gcc,make之类的编译工具或是需要安装kernel*。而我遇到的问题在做了这些操作之后仍然在building the main guest additions报错。于是去查看日志(vb的日志存在/var/log/vboxinstall.log中)。报错内容如下:
/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c: In function ‘rtR0MemObjNativeMapUser’: /tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.c:1542:26: error: ‘struct mm_struct’ has no member named ‘numa_next_reset’ pTask->mm->numa_next_reset = jiffies + 0x7fffffffffffffffUL; ^ make[2]: *** [/tmp/vbox.0/r0drv/linux/memobj-r0drv-linux.o] Error 1 make[1]: *** [_module_/tmp/vbox.0] Error 2 make: *** [vboxguest] Error 2
google之,发现只有给rhel7安装才会发生这个问题,原因是rhel7把内核3.13的补丁直接打到3.10上导致4.3.10版本的virtualbox增强包在编译的时候出错,貌似4.3版本的virtualbox都有这个问题,官方解决方法连接
https://www.virtualbox.org/ticket/12638
我看了半天没看懂在哪个目录下,于是直接把virtualbox升级成5.0了(tips:跨版本升级有风险,我昨天搞的实在太晚就直接卸载旧版本安装新版本了)。