• ubuntu16.04安装virtualbox5.1失败 gcc:error:unrecognized command line option ‘-fstack-protector-strong’


    系统:ubuntu16.04.1

    软件:Virtualbox-5.1

    编译器:GCC 4.7.4

    在如上环境下安装Vbx5.1提示我在终端执行/sbin/vboxconfig命令

    照做

    出现如下error

    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编译器引起的

    gcc: 错误: unrecognized command line option ‘-fstack-protector-strong’

    由于我使用ubuntu16.04编译android5.0所以安装了gcc4.7版本,而不是16.04自带的gcc5.4版本

    (‘-fstack-protector-strong’ 选项是gcc4.9以后的版本才加入的,也就是说需要安装gcc4.9以后的版本才可以编译通过)

    后来在安装VMware的时候,只有使用gcc5.4才可以编译kernel,马上想到Virtualbox5.1是不是也是这个原因造成的,遂尝试之。成了

    使用如下命令切换到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,否则会无法启动

  • 相关阅读:
    无法加载 DLL“librdkafka”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)
    C#编码规范
    requests(五)
    python-requests(四):调用上传文件的接口的解决方案
    静态代码扫描工具
    推荐一款 python 管理工具:anaconda
    selenium 网页自动化-在访问一个网页时弹出的浏览器窗口,我该如何处理?
    静态代码扫描工具
    静态代码扫描工具
    静态代码扫描工具
  • 原文地址:https://www.cnblogs.com/pngcui/p/5948018.html
Copyright © 2020-2023  润新知