Ubuntu 22.04LTS中使用aptitude来解决build-essential安装过程中过高版本包依赖问题

2023-05-16

小白近日安装完Ubuntu 22.04LTS后,记不清是不是用了Software Updater还是自己手动upgrade了包,导致在配置编译工具build-essential(输入sudo apt install build-essential)时出现如下报错:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libc6-dev : Depends: libc6 (= 2.35-0ubuntu3) but 2.35-0ubuntu3.1 is to be installed
E: Unable to correct problems, you have held broken packages.

分析报错信息,得知包libc6的版本过高。网上查到的很多关于依赖问题的解决方法是换源,但是换源很可能不能解决问题,比如我尝试了从ustc到aliyun。那么考虑降级操作。考虑到libc6可能有小白不明确的复杂依赖关系,小白就不敢直接sudo apt install libc6=2.35-0ubuntu3 ,这里就借用 Ubuntu解决依赖关系问题的正确姿势一文中提到的包管理工具aptitude来帮助处理依赖关系

  1. 安装aptitude
sudo apt install aptitude
  1. 利用aptitude来安装build-essential
sudo aptitude install build-essential

运行命令后

The following NEW packages will be installed:
  binutils{a} binutils-common{a} binutils-x86-64-linux-gnu{a} 
  build-essential{b} dpkg-dev{a} fakeroot{a} gcc{a} gcc-11{a} 
  libalgorithm-diff-perl{a} libalgorithm-diff-xs-perl{a} 
  libalgorithm-merge-perl{a} libasan6{a} libbinutils{a} libcc1-0{a} 
  libctf-nobfd0{a} libctf0{a} libfakeroot{a} libgcc-11-dev{a} libitm1{a} 
  liblsan0{a} libquadmath0{a} libtsan0{a} libubsan1{a} lto-disabled-list{a} 
  make{a} 
The following packages will be REMOVED:
  systemd-hwe-hwdb{u} 
0 packages upgraded, 25 newly installed, 1 to remove and 0 not upgraded.
Need to get 34.1 MB of archives. After unpacking 108 MB will be used.
The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not installable or
                            libc-dev which is a virtual package, provided by:
                            - libc6-dev (2.35-0ubuntu3), but it is not installable

                   Depends: g++ (>= 4:10.2) but it is not installable
The following actions will resolve these dependencies:

     Keep the following packages at their current version:
1)     build-essential [Not Installed]                    

     Leave the following dependencies unresolved:         
2)     dpkg-dev recommends build-essential                



Accept this solution? [Y/n/q/?] 

显然此时方案并不是我们想要的,输入n来获得其方案。

The following actions will resolve these dependencies:

      Install the following packages:                                           
1)      g++ [4:11.2.0-1ubuntu1 (jammy)]                                         
2)      g++-11 [11.3.0-1ubuntu1~22.04 (jammy-security)]                         
3)      gcc-12-base:i386 [12.1.0-2ubuntu1~22.04 (jammy-security)]               
4)      krb5-locales [1.19.2-2 (jammy)]                                         
5)      libbrotli1:i386 [1.0.9-2build6 (jammy)]                                 
6)      libbsd0:i386 [0.11.5-1 (jammy)]                                         
7)      libc-dev-bin [2.35-0ubuntu3 (jammy)]                                    
8)      libc-devtools:i386 [2.35-0ubuntu3 (jammy)]                              
9)      libc6:i386 [2.35-0ubuntu3 (jammy)]                                      
10)     libc6-dev [2.35-0ubuntu3 (jammy)]                                       
11)     libcom-err2:i386 [1.46.5-2ubuntu1.1 (jammy-security)]                   
12)     libcrypt-dev [1:4.4.27-1 (jammy)]                                       
13)     libcrypt1:i386 [1:4.4.27-1 (jammy)]                                     
14)     libdeflate0:i386 [1.10-2 (jammy)]                                       
15)     libexpat1:i386 [2.4.7-1ubuntu0.2 (jammy-security)]                      
16)     libfontconfig1:i386 [2.13.1-4.2ubuntu5 (jammy)]                         
17)     libfreetype6:i386 [2.11.1+dfsg-1build1 (jammy)]                         
18)     libgcc-s1:i386 [12.1.0-2ubuntu1~22.04 (jammy-security)]                 
19)     libgd3:i386 [2.3.0-2ubuntu2 (jammy)]                                    
20)     libgssapi-krb5-2:i386 [1.19.2-2 (jammy)]                                
21)     libidn2-0:i386 [2.3.2-2build1 (jammy)]                                  
22)     libjbig0:i386 [2.1-3.1ubuntu0.22.04.1 (jammy-security)]                 
23)     libjpeg-turbo8:i386 [2.1.2-0ubuntu1 (jammy)]                            
24)     libjpeg8:i386 [8c-2ubuntu10 (jammy)]                                    
25)     libk5crypto3:i386 [1.19.2-2 (jammy)]                                    
26)     libkeyutils1:i386 [1.6.1-2ubuntu3 (jammy)]                              
27)     libkrb5-3:i386 [1.19.2-2 (jammy)]                                       
28)     libkrb5support0:i386 [1.19.2-2 (jammy)]                                 
29)     liblzma5:i386 [5.2.5-2ubuntu1 (jammy)]                                  
30)     libmd0:i386 [1.0.4-1build1 (jammy)]                                     
31)     libnsl-dev [1.3.0-2build2 (jammy)]                                      
32)     libnsl2:i386 [1.3.0-2build2 (jammy)]                                    
33)     libnss-nis:i386 [3.1-0ubuntu6 (jammy)]                                  
34)     libnss-nisplus:i386 [1.3-0ubuntu6 (jammy)]                              
35)     libpng16-16:i386 [1.6.37-3build5 (jammy)]                               
36)     libssl3:i386 [3.0.2-0ubuntu1.7 (jammy-security)]                        
37)     libstdc++-11-dev [11.3.0-1ubuntu1~22.04 (jammy-security)]               
38)     libtiff5:i386 [4.3.0-6ubuntu0.2 (jammy-security)]                       
39)     libtirpc-dev [1.3.2-2ubuntu0.1 (jammy-security)]                        
40)     libtirpc3:i386 [1.3.2-2ubuntu0.1 (jammy-security)]                      
41)     libunistring2:i386 [1.0-1 (jammy)]                                      
42)     libuuid1:i386 [2.37.2-4ubuntu3 (jammy)]                                 
43)     libwebp7:i386 [1.2.2-2 (jammy)]                                         
44)     libx11-6:i386 [2:1.7.5-1 (jammy)]                                       
45)     libxau6:i386 [1:1.0.9-1build5 (jammy)]                                  
46)     libxcb1:i386 [1.14-3ubuntu3 (jammy)]                                    
47)     libxdmcp6:i386 [1:1.1.3-0ubuntu5 (jammy)]                               
48)     libxpm4:i386 [1:3.5.12-1build2 (jammy)]                                 
49)     libzstd1:i386 [1.4.8+dfsg-3build1 (jammy)]                              
50)     linux-libc-dev [5.15.0-53.59 (jammy-security)]                          
51)     manpages-dev [5.10-1ubuntu1 (jammy)]                                    
52)     rpcsvc-proto [1.4.2-0ubuntu6 (jammy)]                                   
53)     zlib1g:i386 [1:1.2.11.dfsg-2ubuntu9.2 (jammy-security)]                 

      Downgrade the following packages:                                         
54)     libc6 [2.35-0ubuntu3.1 (now) -> 2.35-0ubuntu3 (jammy)]                  
55)     libc6-dbg [2.35-0ubuntu3.1 (now) -> 2.35-0ubuntu3 (jammy)]              
56)     libfreetype6 [2.11.1+dfsg-1ubuntu0.1 (jammy-security, now) -> 2.11.1+dfs



Accept this solution? [Y/n/q/?] 

此时给出了降级方案,选择y来接受。

最后我们再次运行sudo apt install build-essential检查,包已经安装完成了。

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
build-essential is already the newest version (12.9ubuntu3).
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

小白,欢迎大佬们讨论指正。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu 22.04LTS中使用aptitude来解决build-essential安装过程中过高版本包依赖问题 的相关文章

  • 程序员没有项目经验,如何写出漂亮的简历

    前言 国庆假期已经结束啦 xff08 文末送福利 xff09 已经嗨完了7天7夜 有些人还没从假期中醒过来 却也有人高兴不起来 因为在这个 金九银十 一些同学还没找到满意的工作呢 特别是对于没有工作经验的应届生来说 做出一份可以进面试的简历
  • 我用Python写了个金融数据爬虫,半小时干了组里实习生一周的工作量

    前言 最近 xff0c 越来越多的研究员 基金经理甚至财务会计领域的朋友 xff0c 向小编咨询 xff1a 金融人需要学Python么 xff1f 事实上在2022年 xff0c 这已经不是一个问题了 Python已成为国内很多顶级投行
  • 程序员必读的10本经典书(含资源)建议收藏

    这是本文的目录 前言01 代码整洁之道 02 程序员的自我修养 03 程序员修炼之道 04 计算机程序的构造与解释 05 编程珠玑 06 程序是怎么跑起来的 07 自学是门手艺 08 Python编程 09 黑客与画家 10 图解 HTTP
  • 小米只能进fastboot和rec救砖

    Bl锁已解 xff0c 手机变砖 xff0c 只能进fastboot和rec模式 xff0c 我们通常有以下方式解决 1 如果你是因为动了某个分区镜像而导致变砖的 xff0c 可以到手机官方网站寻找对应版本刷机包提取动过的镜像 xff0c
  • C#开发串口调试助手的详细教程

    一 串口助手是什么 xff1f 通过电脑串口 xff08 包括USB口 xff09 收发数据并且显示的应用软件 xff0c 一般用于电脑与嵌入式系统的通讯 xff0c 借助于它来调试串口通讯或者系统的运行状态 也可以用于采集其他系统的数据
  • 怎样使用类和对象——静态成员

    静态数据成员 用立方体类box定义两个对象 xff0c 引用不同对象中的静态数据成员 span class token macro property span class token directive hash span span cla
  • STM32CubeMX代码第一次烧录后无法再识别STM32

    本文记录的是我在烧录时出现的问题 xff0c 具体细节会因为使用的软件或者STM32不同而不同 在使用STM32CubeMX生成的代码 xff0c 经过keil5编写后 xff0c 使用usb接口烧录进STM32然后发现keil5中再也识别
  • 算法练习2之单链表求和

    笔试题目 xff1a 1 用单向链表表示十进制整数 xff0c 求两个正整数的和 如下图 xff0c 1234 43 34 61 1268 xff0c 注意 单向链表的方向 xff0c 不允许使用其他的数据结构 题目分析 xff1a 题目中
  • git基础

    1 git的相关配置 git自带一个git config工具来帮忙配置变量 xff0c git中这些变量存储在3个不同的位置并且有相关命令进行配置 xff0c 如下 xff1a git config system xff1a 存储在 etc
  • 单例模式----双重检查锁

    双重检查锁 双重检查锁 xff1a 双检锁 xff1a 单例模式中用volatile和synchronized来满足双重检查锁机制 xff1b 在实现单例模式的时候往往会忽略掉多线程的情况 xff0c 就是写的代码在单线程的情况下是没问题的
  • 【CSDN】 关于博客中图片水印有关问题

    默认效果 https img blog csdnimg cn 20210202141712123 png x oss process 61 image watermark type ZmFuZ3poZW5naGVpdGk shadow 10
  • C++(一)— cout输出格式 (待完善)

    C 43 43 cout输出格式 ios dec以10进制表示整数ios hex以16进制表示整数ios oct以8进制表示整数ios showbase为整数添加一个表示其进 制的前缀ios internal在符号位和数值的中间插入需要数里
  • 判断两台设备是否属于同一子网的简易程序(C++实现)

    给定ip地址与子网掩码 xff0c 通过与运算判断是否属于同一子网 xff1a span class token macro property span class token directive hash span span class
  • Win11中换源失败

    按照之前在win10中的换源方法 xff0c 在 condarc中换源 xff0c 因为pip时下载网速依旧很慢 xff0c 所以发现换源并不成功 xff0c 并且没有在下载的时候有如下图所示的换源语句 Looking in indexes
  • px4连接不了mavros的原因

    本人多次试过机载重装系统后初次安装mavros 出现mavros连接不上的问题 一 USB接口电压不够 我之前遇到过的一种就是当px4通过USB线接入机载 xff0c 启动mavros时 xff0c 一直连接不上 xff0c 而且px4上常
  • Jetson Xaiver NX 安装 librealsense2-SDK

    在Jetson Xaiver NX上使用英特尔的相机 xff0c 我们需要安装相机的驱动 xff0c 以下提供两种方法进行安装 注 xff1a 采用手动安装方法可以驱动D400系列的相机 但驱动不了T265 xff0c 如果需要同时驱动D4
  • PX4机载连接通过IP连接电脑QGC地面站

    PX4接入Jetson系列机载时 xff0c 因为Jetson系列机载为ARM架构 xff0c 没有对应的QGC地面站可以安装使用 在平时的连接都是通过将PX4接USB线连接至电脑 xff0c 通过电脑的QGC进行各种校准和参数更改 接入机
  • 一次成功流水帐 ros中使用serial包实现串口通信debug和教程汇总

    会参考以下几个教程 xff0c 但是这几个都不完整 ros中使用serial包实现串口通信 鲁班班班七号的博客 CSDN博客 ros 串口通信 ROS使用serial库编译时出现 未定义的引用 解决办法 学术马的博客 CSDN博客 ros编
  • Haar特征+Adaboost人脸识别C实现

    Haar特征 43 Adaboost的人脸识别C实现 xff0c 部分简单的功能借助Opencv实现 xff0c 数据是MIT人脸数据 程序的实现主要是参考 Rapid Object Detection using a Boosted ca
  • Redhat6.5出现不识别CPU

    Detected CPU family 6 model 6Z UNSUPPORTED HARDUARE DEVICE CPU family 6 model gt 59 Redhat6 5版本会出现开机不是别cpu重启服务器 xff0c 可解

随机推荐

  • 爬取豆瓣网站前top250电影名称和评分保存到本地excel中(附效果图和代码)

    import requests from lxml import etree import xlwt headers 61 39 User Agent 39 39 Mozilla 5 0 Windows NT 10 0 Win64 x64
  • CentOS和Ubuntu有什么不同

    很多的初学者在刚开始接触Linux的时候 xff0c 是否有很多疑问 xff0c Linux有上百个系统到达有什么区别 Linux代表探索和自由 因为Linux在技术上代表内核的意思 内核是为设备提供驱动程序 网络通信 文件系统 进程管理等
  • Ubuntu系统各个版本

    http releases ubuntu com releases
  • ArduSub ROV无法前进

    本方案仅适用于ArduSub 控制系统的ROV xff0c 本方案参考ArduSub 官网http www ArduSub com 里的解决方法 问题描述 xff1a 本人在ROV实验中遇到的问题 xff1a 使用遥控器控制ROV向前行驶时
  • STM32F103C8T6核心板——引脚使用注意!!!

    STM32F103C8T6核心板 引脚使用注意 xff01 xff01 xff01 有的引脚与下载JTAG端口复用 有的与BOOT复用 xff0c 若发生引脚不够使用的情况 xff0c 可以将他们进行一点特殊的设置 xff0c 变成普通引脚
  • Keil5_因为临时环境变量造成的编译错误

    Keil5 因为临时环境变量造成的编译错误 如果安装本文所附文件 xff08 注册时打开两个软件都需要管理员权限运行 xff09 仍有同样问题 xff0c 原因可能有如下四个可能 一 电脑用户名使用了中文 解决办法 xff1a 更改为英文
  • STM32_CUBE_IDE_工程的导入和导出

    STM32 CUBE IDE 工程的导入和导出 1 我们写好了代码想要上传到代码仓库共享给别人怎么办 xff0c 就需要先导出工程再上传而不能直接将工程代码直接上传 2 导出工程 3 上传到码云仓库 4 导入之前导出的工程 导出工程 导出的
  • 常见驱动电路

    常见驱动电路 1 基础知识补充 xff08 三极管和MOS管 xff09 2 网上搜集的一些资料 xff08 个人认为可行 xff09 3 实践中使用过的一些驱动电路 4 学习开发板上面的驱动电路 三极管和MOS管的区别 1 三极管和MOS
  • VScode+keil插件-取代keil开发不要太爽了

    VScode 43 keil插件 取代keil开发不要太爽了 前言 xff1a 之前几年开发都是使用的keil xff0c 所以基本所有工程都是keil的工程 xff0c 一时间开发项目还不能及时转变使用HAL库开发 xff08 stm32
  • 关于maven项目中pom.xml文件报红问题的解决方法

    主要原因是可能需要的依赖没有进行自动的加载到本地仓库 xff0c 可以通过设置File gt Settings 设置好maven的本地仓库的位置以及maven的位置 xff0c 即可解决依赖的问题
  • 网络调试助手——局域网广播消息——模拟HTTP服务器

    网络调试助手 局域网广播消息 模拟HTTP服务器 前言 xff1a 作为一名嵌入式开发者 xff0c 不能熟练使用网络调试助手 xff0c 我羞愧至极 xff0c 赶紧弄明白记录下来才是正事 怎么使用网络调试助手向局域网广播消息 注释 xf
  • AT89C51、AT89S51、STC89C51有什么区别?

    标题AT89C51 AT89S51 STC89C51有什么区别 xff1f 1 首先明确一点 xff0c 这几个型号都属于51单片机 xff0c 程序和电路是通用的 xff1b 2 AT89C51是美国ATMEL公司生产的 xff0c 下载
  • 新装的GIT需要配置秘钥才能正常使用

    新装的GIT需要配置秘钥才能正常使用 实际这个过程就是git配置SSH 1 打开git 命令行终端输入指令生成秘钥 操作过程 xff1a 连击三次回车 xff0c 如下图即为成功 ssh span class token operator
  • 正则表达式_总结

    正则表达式 总结 说明 xff1a 限定SpinBox控件的输入范围 span class token comment 限定输入框为1 120 span SpinBox span class token punctuation span i
  • 电路设计_运算放大器应用

    电路设计 运算放大器应用 说明 xff1a 运算放大器是个万用宝 xff0c 要好好利用起来 xff0c 1 电压跟随 xff1a 起到隔离作用 xff0c 高阻抗变低阻抗 2 同向比例放大器 xff1a 放大输入电压信号 xff0c 在输
  • ESP32_IDF_基于win11的开发环境搭建

    ESP32 IDF 基于win11的开发环境搭建 说明 xff1a 1 安装ofline 2 编译下载 xff08 本来打算使用vscode配合使用来开发的 xff0c 奈何vscode环境真难搞 xff0c 放弃了 xff0c 用不惯 x
  • 树莓派的联网方式

    树莓派的多种联网方式 配置WiFi文件将空白的ssh文件放入sd卡配置WiFI文件 家庭局域网或热点查找树莓派ip 通过网线联网 配置WiFi文件 在sd卡中烧录系统之后 xff0c sd卡中会有如下程序 xff1a 将空白的ssh文件放入
  • STM32F103系列PWM波

    话不多说 xff0c 直接上我能跑通的代码 pwm h span class token macro property span class token directive hash span span class token direct
  • HTTP的几种认证方式之DIGEST 认证(摘要认证) 服务端

    https www cnblogs com xy ouyang p 12609387 html
  • Ubuntu 22.04LTS中使用aptitude来解决build-essential安装过程中过高版本包依赖问题

    小白近日安装完Ubuntu 22 04LTS后 xff0c 记不清是不是用了Software Updater还是自己手动upgrade了包 xff0c 导致在配置编译工具build essential 输入sudo apt install