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:跨版本升級有風險,我昨天搞的實在太晚就直接卸載舊版本安裝新版本了)。