Ubuntu23.10下处理libncurses5-dev包的安装问题

devtools/2024/10/4 7:27:52/

Ubuntu23.10下处理libncurses5-dev包的安装问题

  • 导语
  • 环境准备
  • 问题和解决方案
  • 总结
  • 参考文献

导语

使用Ubuntu23.10的时候,遇到需要termios的场景,结果发现无论是codeblocks还是系统本身的gcc都无法找到term.h和curse.h,网上找了很多解决方案都不适用,因为自己遇到的情况比较特殊,但好在最后用aptitude包解决了依赖问题,这里记录一下解决的流程,方便以后他人使用

环境准备

首先是Ubuntu的版本,具体如下

在这里插入图片描述

其次是由于网络问题,建议把对应的下载源换成国内的,我选择的是阿里云

问题和解决方案

换好源之后,我首先执行了 sudo apt-get update命令,这个命令会把系统内所有的包都更新,但问题也在这里,libncurses5-dev其实有更新的版本,这条命令会使得系统安装libncurses5-dev更新的版本,最新版本并不和codeblocks适用,原先的-lcurses命令也无法用在最新的版本上

如果这个时候尝试直接安装libncurses5-dev,可能会出现下面的提示

在这里插入图片描述

会发现无法安装,然后如果尝试卸载现有的最新版本也可能卸载失败,原因是最新版本和其他的包已经相互形成了复杂的依赖关系,系统并不支持删除

对于这种情况,就需要将最新版本删除并重新安装,直接用rm是不行的,这里就需要安装aptitude管理包,它可以有效且自动的管理包之间的依赖关系和管理关系

首先是安装,命令和结果如下

在这里插入图片描述

安装完之后使用aptitude强制回退libncurse的版本

在这里插入图片描述

但这里需要注意的是,aptitude有很多方案,我们不能直接选择默认方案,那样是无效的

在这里插入图片描述
这里不接受第一个

在这里插入图片描述

第二个也不接受

在这里插入图片描述
接受第三个方案,这样就能强制降级libncurse到指定的版本了

在这里插入图片描述

可以简单写个要用到termios的程序试试,如果上面这行命令执行没有出错就代表安装成功了

总结

Linux系统里包之间的依赖关系非常复杂,有时候并不是最新的就最好,当遇到需要使用指定版本的包时可以通过aptitude来自动实现,但前提是选对方案

参考文献

  1. ubuntu无法修正错误,因为您要求某些软件包保持现状…解决办法
  2. Ubuntu更换阿里云镜像源
  3. 百度AI助手

http://www.ppmy.cn/devtools/120476.html

相关文章

CSP-S 2022 T1假期计划

CSP-S 2022 T1假期计划 先思考暴力做法,题目需要找到四个不相同的景点,那我们就枚举这四个景点,判断它们之间的距离是否符合条件,条件是任意两个点之间的距离是否大于 k k k,所以我们需要求出任意两点之间的距离。常用…

如何让虚拟机与本地电脑使用同一个ip

让虚拟机与本地电脑使用同一个IP地址并不是一个简单的操作,因为通常每个设备在网络中都有其唯一的IP地址。不过,有几种方法可以让虚拟机与本地电脑在某些特定情况下“共享”相同的IP地址。以下是一些常见的解决方案: 1. 使用桥接网络&#x…

NVIDIA Hopper 架构深入

在 2022 年 NVIDIA GTC 主题演讲中,NVIDIA 首席执行官黄仁勋介绍了基于全新 NVIDIA Hopper GPU 架构的全新 NVIDIA H100 Tensor Core GPU。 文章目录 前言一、NVIDIA H100 Tensor Core GPU 简介二、NVIDIA H100 GPU 主要功能概述1. 新的流式多处理器 (SM) 具有许多性能和效率…

【JVM】垃圾回收机制(GC)之引用计数和可达性分析

1. 引用计数 这种思想方法,并没有在 JVM 中使用,但是广泛应用于其他主流语言的垃圾回收机制中(Python、PHP)。 《深入理解 Java 虚拟机》中谈到了引用计数,就导致有些面试官还是会问 给每个对象安排一个额外的空间&am…

誉天Linux云计算课程学什么?为什么保障就业?

一个IT工程师相当于干了哪些职业? 其中置顶回答生动而形象地描绘道: 一个IT工程师宛如一个超级多面手,相当于——加班狂程序员测试工程师实施工程师网络工程师电工装卸工搬运工超人。 此中酸甜苦辣咸,相信很多小伙伴们都深有体会。除了典…

Unity3D播放GIF图片使用Animation来制作动画

系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、下载GIF动图,用PS制作导出帧动画图片👉二、使用Animation制作动画👉三、脚本控制动画播放👉壁纸分享👉总结👉前言 unity播放gif图片,本身是不支持的,但是可以使用其他方法来实现, 1.有一种使用System…

IP与网关的关系

在计算机网络中,IP地址和网关是两个重要的概念,它们在网络通信中起着关键作用。理解这两者之间的关系,有助于更好地管理和配置网络。 什么是IP地址? IP地址(Internet Protocol Address)是分配给网络中每个…

城市空间设计对居民生活质量的影响:构建宜居城市的蓝图

在快节奏的现代生活中,城市不仅是经济活动的中心,更是人们生活、工作、休闲的综合载体。本文旨在深入探讨城市空间设计如何通过科学规划、人性化考量以及生态融合,为居民打造更加宜居、和谐的生活环境。 1. 促进社区互动与归属感 城市空间设…