ubuntu上安装gcc

2022-09-06 15:41:20 浏览数 (3)

大家好,又见面了,我是你们的朋友全栈君。

首先我是直接根据别人博客来的:

  1. sudo apt update
  2. sudo apt install build-essential

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

结果,报错了。

我一开始想到的是直接上博客搜,查到两种解决方案:

  1. 杀死之前的进程 查出与 apt 相关的进程,然后直接关了。 ps -e|grep apt

然后将进程杀死:

但是我的下载依旧报错;因此我采用了第二种方法。

  1. 强制解锁 按照别人的博客所说,删除以下两个文件就行了,如下所示: 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 至此,问题解决。

总结:

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

参考:

如何在 Ubuntu 20.04 上安装 GCC(build-essential)-阿里云开发者社区 (aliyun.com)

Ubuntu E: 无法获得锁 /var/lib/dpkg/lock-frontend – open (11: 资源暂时不可用) – 云 社区 – 腾讯云 (tencent.com)

64位ubuntu在安装build-essential遇到依赖问题的解决办法煮虾子的专栏-CSDN博客crossbuild-essential-arm64

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155039.html原文链接:https://javaforall.cn

1 人点赞