ubuntu2404使用vs code(cortex-debug)或stm32cubeide调试No such file libncursesw.so.5;E: 无法定位libcursesw5

项目场景:

系统环境:ubuntu24.04

编译器:arm-none-eabi-

版本:arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi
下载地址:
			新版本(10.3-2021-10之后):https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
			旧版本(10.3-2021-10之前):https://developer.arm.com/downloads/-/gnu-rm

使用情况:

在通过vs code中的插件cortex-debug以及stm32cubeide进行调试的时候无法开启调试

问题描述

stm32cubeide报错如下

在这里插入图片描述

vs code报错如下

这个报错显示不全;我在第一次启动debug的时候,提示了缺少libncursesw.so.5
在这里插入图片描述

基于以上的报错以及提示通过arm-none-eabi-gdb --version查看

显示缺少支持库:libncursesw.so.5
然后通过ldd arm-none-eabi-gdb发现该可执行文件的以来缺少了两个库(这两个库在安装libncursesw5之后就都覆盖了)
在这里插入图片描述

安装libncursesw5

sudo apt install libncursesw5
显示无法定位软件包
在这里插入图片描述
通过apt-cache search查询该包
显示的软件包并不是我们想要的libncursesw5
在这里插入图片描述

添加软件源

ubuntu 24.04
sudo vim /etc/apt/sources.list.d/ubuntu.sources

在这里插入图片描述

ubuntu 24.04之前的版本
sudo vim /etc/apt/sources.list

在文件末尾添加

deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse

至此再执行:

sudo apt install libncursesw5

即可成功安装libncursesw.so.5


arm-none-eabi-gdb与python版本不匹配

ubuntu 24.04预装的python为3.12
而该版本的gdb需要python3.8支持

在这里插入图片描述问题原因:
通常由于python无法找到特定的库,可能是因为缺少了某些依赖库或者环境变量配置错误;

查看python3的依赖

在这里插入图片描述
安装python3.8

通过ppa:deadsnakes/ppa显示当前系统的仓库并不提供python3.8的安装包

在这里插入图片描述
所以此处通过源码编译安装

在这里插入图片描述

python源码编译安装

下载地址:

https://www.python.org/downloads/

下载对应版本的source tar包

依赖安装

参考:https://devguide.python.org/getting-started/setup-building/#install-dependencies

通过nproc查看cpu的线程数量

cd python-3.8.9切换当前路径到python源码目录下

./configure --prefix=/home/summer/Software/python --enable-optimizations  
--prefix设置安装目录
--enable-optimizations 运行测试来优化python二进制文件,但会增加编译时间
该类参数可以通过./configure --help进行查看详情

在这里插入图片描述

make -j 线程数量	进行编译

根据下图中的Makefile内容,因为ubuntu24.04默认安装了python3.12
所以我通过make altinstall替代make install进行安装,不会覆盖原先的版本
在这里插入图片描述

编译提示缺少库

在这里插入图片描述

安装依赖

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

编译完成之后

sudo make altinstall
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
config/mconf是一个配置工具,用于配置Linux内核的编译选项。当你在编译内核时,可以使用config/mconf来选择和配置不同的功能和选项。 关于你提到的错误信息"config/mconf: error while loading shared libraries: libncursesw.so.5: cannot open shared object file: No such file or directory",这个错误通常是由于缺少libncursesw.so.5库文件引起的。 libncursesw.so.5是一个用于终端界面的库文件,它提供了在终端上显示文本和控制光标位置等功能。如果缺少这个库文件,config/mconf无法正常加载。 要解决这个问题,你可以尝试以下几种方法: 1. 安装缺失的库文件:使用包管理器安装libncursesw.so.5库文件。具体的安装命令可能因你使用的Linux发行版而有所不同。例如,在Ubuntu上可以使用以下命令安装: ``` sudo apt-get install libncursesw5 ``` 2. 创建软链接:如果你已经安装了其他版本的libncursesw库文件,你可以尝试创建一个软链接来解决缺失的库文件问题。具体命令如下: ``` sudo ln -s /usr/lib/libncursesw.so.X /usr/lib/libncursesw.so.5 ``` 其中,/usr/lib/libncursesw.so.X是已经存在的libncursesw库文件路径。 3. 更新LD_LIBRARY_PATH环境变量:将缺失的库文件所在路径添加到LD_LIBRARY_PATH环境变量中。具体命令如下: ``` export LD_LIBRARY_PATH=/path/to/libncursesw:$LD_LIBRARY_PATH ``` 其中,/path/to/libncursesw是libncursesw.so.5库文件所在的路径。 希望以上方法能够帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值