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

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

我正在使用 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)

所以我删除了 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

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

答案1

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

正确的做法是安装gcc-multilib,使用apt-get install gcc-multilib

答案2

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

那么问题就解决了。

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

答案3

安装 gcc-multilib 是唯一对我有帮助的东西,我正在运行 ubuntu 15。谢谢!

答案4

我按照iaeiou建议,在另一台电脑的帮助下成功地为我的 Jetson-tx2(arm64 系统)解决了这个问题。

libgcc1-dbg_6.3.0-18+deb9u1_arm64.deb首先,我从这个网站下载

http://http.us.debian.org/debian/pool/main/g/gcc-6/

然后我使用scp这个 deb 包发送到我的 Jetson-tx2

/home/my_usrname $  scp /home/my_usrname/libgcc1_6.3.0-18+deb9u1_arm64.deb [email protected]:/home/usrname

最后我切换到 Jetson-tx2 并安装这个 deb 包

/home/tx2-usrname $  sudo dpkg -i libgcc1_6.3.0-18+deb9u1_arm64.deb

ps:也许你还需要下载gcc-6-base作为的依赖项libgcc1-xxxx.deb,它位于https://packages.debian.org/stretch/gcc-6-base或者http://http.us.debian.org/debian/pool/main/g/gcc-6/并使用同样的方法。

抱歉我的英语不好。

相关内容