Mar*_*dik 1 installation ppa dependencies gcc 13.10
我试图从这个 PPA使用Synaptic将gcc-4.8.1升级到gcc-4.8.2。安装执行没有问题,但突然间我根本没有 gcc-4.8。我同时使用 gcc-4.7 和 gcc-4.8,但由于某种原因只剩下 4.7。然后我尝试使用重新安装 gcc-4.8但我遇到了未满足的依赖项错误。我试图使用这个问题的答案来解决这个问题,但无济于事。apt-get install
sudo apt-get install gcc-4.8
Run Code Online (Sandbox Code Playgroud)
结果是:
...
The following packages have unmet dependencies:
gcc-4.8 : Depends: binutils (>= 2.23.90.20131017) but
2.23.52.20130913-0ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
以下是输出:
martin@martin-Studio-1537:~$ cat /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu saucy main universe restricted multiverse
deb http://security.ubuntu.com/ubuntu/ saucy-security main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu saucy-updates main universe restricted multiverse
deb http://archive.ubuntu.com/ubuntu saucy-proposed main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu saucy main universe restricted multiverse #Added by software-properties
deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu saucy main
Run Code Online (Sandbox Code Playgroud)
和
martin@martin-Studio-1537:~$ cat /etc/apt/sources.list.d/*
# deb http://download.mendeley.com/apt/ stable main
deb http://ppa.launchpad.net/p12/qtcreator/ubuntu saucy main
deb-src http://ppa.launchpad.net/p12/qtcreator/ubuntu saucy main
deb http://ppa.launchpad.net/p12/qtcreator/ubuntu saucy main
# deb-src http://ppa.launchpad.net/p12/qtcreator/ubuntu saucy main
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu saucy main
deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu saucy main
# deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu saucy main
# deb-src http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu saucy main
# deb http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu saucy main
# deb-src http://ppa.launchpad.net/webupd8team/y-ppa-manager/ubuntu saucy main
Run Code Online (Sandbox Code Playgroud)
我尝试在禁用所有 PPA后重复答案中的建议,然后再次启用gcc-4.8.2 PPA ,但我仍然无法安装 gcc-4.8.2。
我做错了什么,我该如何修复我的系统?
编辑:
我试过
martin@martin-Studio-1537:~$ sudo apt-get install -f
[sudo] password for martin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Run Code Online (Sandbox Code Playgroud)
进而
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
但结果是一样的。
除了清除或删除 PPA 之外,我尝试了此答案中的所有内容。
编辑2:
我按照searchforgold6789 的回答中的说明进行操作,它确实有效!我成功安装了 gcc-4.8.1。但是当我再次添加 PPA 并尝试升级时,我得到以下输出:
The following packages have been kept back:
cpp-4.8 g++-4.8 gcc-4.8 gcc-4.8-base libasan0 libatomic1 libgcc-4.8-dev
libgcc1 libgcc1-dbg libgfortran3 libgomp1 libitm1 libquadmath0
libstdc++-4.8-dev libstdc++6 libstdc++6-4.8-dbg
The following packages will be upgraded:
libcloog-isl4 libisl10
2 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
Run Code Online (Sandbox Code Playgroud)
编辑3:
当我这样做时,apt-get dist-upgrade它建议应该删除g++-4.8 gcc-4.8 。为什么会这样?我应该继续吗?我想这就是我一开始遇到这个麻烦的原因。
martin@martin-Studio-1537:~$ sudo apt-get dist-upgrade
...
The following packages will be REMOVED:
g++-4.8 gcc-4.8
The following packages will be upgraded:
cpp-4.8 gcc-4.8-base libasan0 libatomic1 libgcc-4.8-dev libgcc1 libgcc1-dbg
libgfortran3 libgomp1 libitm1 libquadmath0 libstdc++-4.8-dev libstdc++6
libstdc++6-4.8-dbg
14 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
Need to get 14.9 MB of archives.
After this operation, 32.4 MB disk space will be freed.
Run Code Online (Sandbox Code Playgroud)
首先你应该清理旧的ppa......
sudo apt-get install ppa-purge
sudo ppa-purge ppa:ubuntu-toolchain-r/test
Run Code Online (Sandbox Code Playgroud)
然后,进入 Software Sources 并确保您启用了Universe和multiverse存储库。做:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
然后你应该能够安装gcc-4.8:
sudo apt-get install gcc-4.8
Run Code Online (Sandbox Code Playgroud)
之后,如果您无法添加 PPA 并成功使用 GCC 4.8.2 重试,我会感到非常惊讶。