系統:ubuntu16.04.1linux
軟件:Virtualbox-5.1android
編譯器:GCC 4.7.4ubuntu
在如上環境下安裝Vbx5.1提示我在終端執行/sbin/vboxconfig命令windows
照作app
出現以下errorui
1 vboxdrv.sh: Building VirtualBox kernel modules. 2 vboxdrv.sh: failed: Look at /var/log/vbox-install.log to find out what went wrong. 3 4 There were problems setting up VirtualBox. To re-start the set-up process, run 5 /sbin/vboxconfig 6 as root.
查看/var/log/vbox-install.log文件得知是因爲gcc編譯器引發的spa
gcc: 錯誤: unrecognized command line option ‘-fstack-protector-strong’
因爲我使用ubuntu16.04編譯android5.0因此安裝了gcc4.7版本,而不是16.04自帶的gcc5.4版本code
(‘-fstack-protector-strong’ 選項是gcc4.9之後的版本才加入的,也就是說須要安裝gcc4.9之後的版本才能夠編譯經過)orm
後來在安裝VMware的時候,只有使用gcc5.4才能夠編譯kernel,立刻想到Virtualbox5.1是否是也是這個緣由形成的,遂嘗試之。成了blog
使用以下命令切換到gcc5.4,即提升gcc5.4的優先級
1 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 2 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 50 3 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 100 4 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 50
使用gcc -v可知gcc當前版本爲5.4,若不是5.4版本,則把5.4的優先級再提升些。
繼續執行以下命令
sudo /sbin/vboxconfig
若依舊失敗,則卸載掉Virtualbox以及配置文件從新安裝便可。
sudo apt-get purge virtualbox
最後從新切換gcc版本回4.7,否則在編譯android5.0會出問題
1 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 40 2 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 100 3 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 40 4 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 100
在ubuntu16.04上安裝Virtualbox5.0的任一版本都會報以下error,內核版本不支持,只有在官網下載最新的Virtualbox.deb才行
1 Stopping VirtualBox kernel modules ...done. 2 Uninstalling old VirtualBox DKMS kernel modules ...done. 3 Trying to register the VirtualBox kernel modules using DKMSERROR (dkms apport): kernel package linux-headers-4.4.0-38-generic is not supported 4 Error! Bad return status for module build on kernel: 4.4.0-38-generic (x86_64) 5 Consult /var/lib/dkms/vboxhost/5.0.24/build/make.log for more information. 6 ...failed! 7 (Failed, trying without DKMS) 8 Recompiling VirtualBox kernel modules ...failed! 9 (Look at /var/log/vbox-install.log to find out what went wrong)
注:1.在設置光盤鏡像的時候,路徑不要包含中文(好比/media下的其餘盤符)
2.windows系統鏡像大小最好不要超過4GB,不然會沒法啓動