您的当前位置:首页正文

ubuntu上安装gcc

2024-04-04 来源:爱go旅游网
ubuntu上安装gcc

⾸先我是直接根据别⼈博客来的:1. sudo apt update

2. sudo apt install build-essential

主要是说 build-essential 中包含了 GNU 编辑器集合,GNU调试器和其他编译软件所必须的开发库和⼯具。结果,报错了。

我⼀开始想到的是直接上博客搜,查到两种解决⽅案:1. 杀死之前的进程

查出与 apt 相关的进程,然后直接关了。

ps -e|grep apt

然后将进程杀死:

但是我的下载依旧报错;因此我采⽤了第⼆种⽅法。2. 强制解锁

按照别⼈的博客所说,删除以下两个⽂件就⾏了,如下所⽰:

sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock

但是我依旧报错:

~$ sudo apt install build-essential

E: ⽆法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可⽤)

E: ⽆法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占⽤它?

不急,慢慢来。

这时我发现报错⾥貌似有指明冲突在哪,于是我试了试直接强制解锁这⾥的:

sudo rm /var/lib/dpkg/lock-frontend

再安装试试?

~$ sudo apt-get install build-essential

E: dpkg 被中断,您必须⼿⼯运⾏ ‘sudo dpkg --configure -a’ 解决此问题。

⾏,那就运⾏吧。

~$ sudo dpkg --configure -a

dpkg: 错误: 另外⼀个进程已经为 dpkg 状态数据库 加锁

额,,,不慌,于是我试了试 apt-get ⽽不是直接⽤ apt 安装:

~$ sudo apt install build-essential 正在读取软件包列表... 完成

正在分析软件包的依赖关系树 正在读取状态信息... 完成

有⼀些软件包⽆法被安装。如果您⽤的是 unstable 发⾏版,这也许是

因为系统⽆法达到您要求的状态造成的。该版本中可能会有⼀些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)⽬录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满⾜的依赖关系:

build-essential : 依赖: dpkg-dev (>= 1.17.11) 但是它将不会被安装

E: ⽆法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

我本以为是部分软件版本的问题,于是我⼜跑了⼀遍 sudo apt install update,但是看起来事情并没这么简单

~$ sudo apt update

命中:1 http://security.ubuntu.com/ubuntu bionic-security InRelease 命中:2 http://cn.archive.ubuntu.com/ubuntu bionic InRelease 命中:3 http://cn.archive.ubuntu.com/ubuntu bionic-backports InRelease

正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 所有软件包均为最新。

~$ sudo apt install build-essential 正在读取软件包列表... 完成

正在分析软件包的依赖关系树 正在读取状态信息... 完成

有⼀些软件包⽆法被安装。如果您⽤的是 unstable 发⾏版,这也许是

因为系统⽆法达到您要求的状态造成的。该版本中可能会有⼀些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)⽬录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满⾜的依赖关系:

build-essential : 依赖: dpkg-dev (>= 1.17.11) 但是它将不会被安装

E: ⽆法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

看来并不是这⾥的问题,再去⽹上找找有没有⼤佬遇到过类似的问题吧。然后就找到了:1. 移除 libdpkg-perl 这个软件:

~$ sudo apt-get remove libdpkg-perl

2. 再安装 libdpkg-perl:

~$ sudo apt-get install libdpkg-perl

3. 再安装build-essential:

~$ sudo apt-get install build-essential

⾄此,问题解决。 总结:

有问题可以上⽹查,但别看都不看直接拿来⽤,有⼀点差异的话直接复制粘贴是⽆法解决的,我在杀死进程和强制解锁那边其实绕了很久,如果直接放进来的话还是太长了。总之,查问题需要结合⾃⼰的报错来看,终端的报错才是解决问题的关键。 参考:

因篇幅问题不能全部显示,请点此查看更多更全内容