CentOS6.4インストール時のOpenGLが失敗する

More than 5 years have passed since last update.


概要

veeweeを使ってvagrantのboxを作っていたんですが、


veewee-sample


Building the main Guest Additions module
[ OK ]
Building the shared folder support module
[ OK ]
Building the OpenGL support module
[失敗]
(Look at /var/log/vboxadd-install.log to find out what went wrong)


上記のように失敗します。

ログを見ると、


vboxadd-install.log

/tmp/vbox.0/vboxvideo_drm.c:110: error: unknown field ‘reclaim_buffers’ specified in initializer

/tmp/vbox.0/vboxvideo_drm.c:110: 警告: initialization from incompatible pointer type
make[2]: *** [/tmp/vbox.0/vboxvideo_drm.o] エラー 1
make[1]: *** [_module_/tmp/vbox.0] エラー 2
make: *** [vboxvideo] エラー 2

上記のようになっています。

どうやらvboxvideo_drm.cファイル110行目が原因っぽい

OpenGLを使うようなことはあまりないのですが、何となく気持ち悪いのでエラーを直したいと思います。



修正方法

難しいことをするわけではなくVirtualboxにあるTicket通りに修正します。


virtualbox.ticket

#私は下記のところにファイルがありました。

/opt/VBoxGuestAdditions-4.2.10/src/vboxguest-4.2.10/vboxvideo/vboxvide_drm.c

‥‥
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
.reclaim_buffers = drm_core_reclaim_buffers, ←この行を
#endif
‥‥

‥‥
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
//.reclaim_buffers = drm_core_reclaim_buffers, ←このように変更
#endif
‥‥


コメントアウトしただけです。

変更を保存し、下記コマンドを実行してみてください。


vboxadd.setup

sudo /etc/init.d/vboxadd seup


このようになれば成功です。


vboxadd

Removing existing VirtualBox non-DKMS kernel modules       [  OK  ]

Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module [ OK ]
Building the shared folder support module [ OK ]
Building the OpenGL support module [ OK ]
Doing non-kernel setup of the Guest Additions [ OK ]
You should restart your guest to make sure the new modules are actually used

以上です。