lib32stdc++6 包依赖于 gcc 基础,但我安装的版本较新

lib32stdc++6 包依赖于 gcc 基础,但我安装的版本较新

我正在尝试使用 eclipse juno 和 android adt bundle 在 Ubuntu 14.04 上构建一个 android 应用程序。现在当我尝试运行我的应用程序时,它会显示有关 adb 的错误。现在为了解决这个问题,我需要安装 32 位库,而这些库中的一个是libstdc++6。当我输入以下命令时:

sudo apt-get install libstdc++6

显示以下错误:

The following packages have unmet dependencies:
   lib32stdc++6 : Depends: gcc-4.8-base (= 4.8.2-19ubuntu1) but 4.8.4-2ubuntu1~14.04 is to be installed
                 Depends: lib32gcc1 (>= 1:4.1.1) but it is not going to be installed
   E: Unable to correct problems, you have held broken packages.

编辑:

命令的输出:

     sudo apt-cache policy lib32stdc++6 gcc-4.8-base lib32gcc1

如下:

lib32stdc++6:
        Installed: (none)
        Candidate: 4.8.2-19ubuntu1
       Version table:
        4.8.2-19ubuntu1 0
           500 http://in.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
gcc-4.8-base:
      Installed: 4.8.4-2ubuntu1~14.04
      Candidate: 4.8.4-2ubuntu1~14.04
      Version table:
      *** 4.8.4-2ubuntu1~14.04 0
             100 /var/lib/dpkg/status
         4.8.2-19ubuntu1 0
             500 http://in.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
 lib32gcc1:
    Installed: (none)
    Candidate: 1:4.9-20140406-0ubuntu1
    Version table:
       1:4.9-20140406-0ubuntu1 0
         500 http://in.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

答案1

您已gcc-4.8-base 4.8.4-2ubuntu1~14.04通过(同时已删除)PPA 或 deb 文件进行安装。由于此软件包的版本高于所要求的版本 (= 4.8.2-19ubuntu1),因此libstdc++6未安装该软件包。因此,强制通过降级安装官方版本:

sudo apt-get install gcc-4.8-base=4.8.2-19ubuntu1

但此版本不是最新可用版本。因此请检查您是否已启用trusty-updates存储库。

  1. 开始Software & Updates
  2. 选择选项卡Updates
  3. 选择Recommended updates (trusty-updates)(在我的截图中是生动的更新,但这只是一个例子)

    在此处输入图片描述

    然后点击Close

  4. 单击Reload此对话框中

    在此处输入图片描述

  5. 现在升级你的系统(再次;)

    sudo apt-get dist-upgrade
    
  6. 并安装

    sudo apt-get install libstdc++6
    

相关内容