apt-get:加载 libgcc_s.so.1 时出错

Ayl*_*ake 5 apt gcc

我正在使用 Ubuntu 12.04.3 LTS,64 位,带有 gcc 4.6.3

我想将 gcc 更新到 4.7,然后按照链接说的做:

如何安装 gcc 4.7?

但我得到了错误:

Fetched 14.0 MB in 18s (767 kB/s)                                    
(Reading database ... 205536 files and directories currently installed.)
Preparing to replace libgcc1 1:4.6.3-1ubuntu5 (using .../libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb) ...
Unpacking replacement libgcc1 ...
dpkg: error processing /var/cache/apt/archives/libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb (--unpack):
 trying to overwrite '/lib/x86_64-linux-gnu/libgcc_s.so.1', which is also in package gcc-4.6 4.6.3-1ubuntu5
Errors were encountered while processing:
 /var/cache/apt/archives/libgcc1_1%3a4.8.1-2ubuntu1~12.04_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

所以我删除了 gcc 4.6:

sudo apt-get remove gcc-4.6
sudo apt-get update
apt-get: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

现在apt-get, vi不能再工作了。

小智 15

这不是真正的修复,而是一种解决方法。

正确的行动当然是安装gcc-multilib,使用apt-get install gcc-multilib


Ayl*_*ake 5

libgcc_s.so.1从其他计算机复制一个/lib/x86_64-linux-gnu/

然后问题就解决了。

我再次安装 gcc-4.7,它成功了。