loadlocale.c:130: _nl_intern_locale_data: failed已放弃 (核心已转储)]问题

news2024/11/26 18:39:44

在进行交叉编译cortex-a9架构时,出现以上错误。

问题描述:

在使用 arm-none-linux-gnueabi-gdb 进行 Cortex-A9 架构交叉编译调试时,出现如下错误:

arm-none-linux-gnueabi-gdb: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_TIME) / sizeof (_nl_value_type_LC_TIME[0]))' failed.
已放弃 (核心已转储)

此错误与 GDB 在加载语言区域(locale)数据时发生的断言失败有关,通常发生在跨平台交叉编译环境中,尤其是 GDB 版本较旧时。具体是 ` _nl_intern_locale_data` 函数的断言失败。

尝试搜索到的解决方法,但问题依然存在:

1. 设置语言环境为 C locale

强制将语言环境设置为 C 来避免区域数据加载错误:

export LC_ALL=C
export LANG=C
export LANGUAGE=C

然后重新运行 `arm-none-linux-gnueabi-gdb`。但该方法并未成功解决问题。

2. 检查和重装语言包

确认系统是否安装了必要的语言包。执行以下命令安装并配置语言包:

sudo apt-get install locales
sudo dpkg-reconfigure locales

尝试切换到 `C.UTF-8` 或 `en_US.UTF-8` 语言环境

但是问题依然存在。

最终解决方案:

使用 `gdb-multiarch` 替代 `arm-none-linux-gnueabi-gdb`

由于问题与旧版 GDB 的兼容性有关,升级到现代版本的多架构 GDB 解决了问题。以下是步骤:

  1. 安装 `gdb-multiarch`: 通过以下命令安装支持多架构的 GDB

    sudo apt-get update
    sudo apt-get install gdb-multiarch
  2. 确认安装版本: 安装完成后,通过以下命令检查版本:

    gdb-multiarch -v

    确认使用的是现代版本。

  3. 调试 first.elf 文件: 使用 `gdb-multiarch` 代替原有的 GDB 进行调试:

    gdb-multiarch first.elf

    该方法成功解决了由于老版本 GDB 造成的区域设置崩溃问题,并确保在 ARM 嵌入式平台上的调试环境更加稳定。


通过切换到 gdb-multiarch,解决了由于老版本 GDB 不兼容导致的断言失败问题,成功实现了对 Cortex-A9 架构的交叉调试。这是一个有效的解决方案,尤其适用于嵌入式系统的多架构调试场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2210393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新型物联网电力数据采集器 智能网关通讯协议有哪些?

随着智能化技术的快速发展&#xff0c;电气监测与管理在各个域的应用愈发重要&#xff0c;在物联网&#xff08;IoT&#xff09;应用的发展中&#xff0c;网关扮演着至关重要的角色。它作为连接设备与云平台或数据中心的桥梁&#xff0c;负责数据的收集、处理和传输。网关不仅支…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs二 常用属性

barPosition&#xff1a;位置开头或结尾,vertical 水平或者垂直,scrollable手势滑动切换,animationDuration 滑动动画时间。BarPosition.Start 效果如下图&#xff1a; BarPosition.End 效果如下图&#xff1a; 如果显示在左边&#xff0c;使用的是vertical属性,下图&#xff0…

Chrome(谷歌)浏览器 数据JSON格式美化 2024显示插件安装和使用

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 没有美化的格式浏览器展示 美化之后效果图 安装流程 下载地址 https://github.com/gildas-lormeau/JSONVue 点击下载 下载成功&#xff0c;如图所示 解压文件 添加成功&#xff0c;如图所示 通过浏览器…

密码学算法概览大全

区块链密码学 目录 对称密码算法 1. 流密码2. 分组密码3. 对称密码算法小结4. 对称密码算法在区块链中的应用 非对称密码算法 1. RSA2. ECC3. 非对称密码算法小结4. 非对称密码算法在区块链中的应用 Hash函数 1. SHA2. RipeMD-1603. Hash函数在区块链中的应用 PKI 1. PKI组成2…

STM32——USART原理及应用

1.什么是USART&#xff1f; 1.1 基本概念 USART英文全称&#xff1a;universal asynchronous receiver and transmitter &#xff0c;翻译过来就是&#xff1a;通用同步异步收/发器。USART是STM32内部集成的硬件外设&#xff0c;可根据数据寄存器的一个字节数据自动生成数据帧…

Python | Leetcode Python题解之第476题数字的补数

题目&#xff1a; 题解&#xff1a; class Solution:def findComplement(self, num: int) -> int:highbit 0for i in range(1, 30 1):if num > (1 << i):highbit ielse:breakmask (1 << (highbit 1)) - 1return num ^ mask

NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?

文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…

QT 连接SQL SEVER 之后无法读取浮点和整型

1、ODBC Driver 的版本要对应上。 if (!strDbDirPath.isEmpty())m_strDbDirPath strDbDirPath;m_strDatabaseName strDatabaseName;if (m_database.isOpen() || m_bConnected){qDebug() << QString("QODBC:已经连接成功&#xff01;") << "\n&quo…

八、Linux之实用指令

1、指定运行级别 1.1 基本介绍 运行级别说明 0 &#xff1a;关机 1 &#xff1a;单用户【找回丢失密码】 2&#xff1a;多用户状态没有网络服务&#xff08;用的非常少&#xff09; 3&#xff1a;多用户状态有网络服务&#xff08;用的最多&#xff09; 4&#xff1a;系统未使…

《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版分片集群》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍

文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes&#xff1f;3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准…

图解 微信开发者工具 小程序源码 调试、断点标记方法 , 微信小程序调试器,真机调试断点调试方法,小程序网络API请求调试方法 总结

在我们使用微信开发者工具进行微信小程序开发的时候&#xff0c;在这个微信开发者工具的代码编辑框里面我们是无法像使用vscode, idea等IDE工具时那样直接对代码打断点进行调试&#xff0c; 原因是小程序实际上他就是一个web浏览器应用的包装, 在其内部使用的还是类似chrome的…

mac 桌面版docker no space left on device

报错信息 docker pull镜像时报&#xff1a; failed to register layer: Error processing tar file(exit status 1): write /home/admin/oceanbase_bak/bin/observer: no space left on device 解决 增加 docker 虚拟磁盘大小。 调整完点击重启即可。

如何使用vscode的launch.json来debug调试

1、创建一个launch.json文件 选择Python Debugger&#xff0c;再选择Python文件&#xff0c;创建处理如下 默认有下面五个参数 "name": "Python Debugger: Current File","type": "debugpy","request": "launch"…

使用OpenCV处理视频并显示灰度图像

目录 导入OpenCV库打开视频文件定义显示图像的函数检查视频是否成功打开并读取第一帧循环读取视频帧释放资源完整代码 导入OpenCV库 import cv2 # 导入OpenCV库打开视频文件 注意&#xff1a;视频随便去搜一个就可以 我用的是风景的 # 打开视频文件 vc cv2.VideoCapture(b…

ubuntu18.04系统中图形化界面

一、Ubuntu 18.04 中&#xff0c;使用 GDM 作为默认的图形用户界面&#xff08;GUI&#xff09;管理器。GDM 是 GNOME Display Manager 的缩写&#xff0c;它是用于 Ubuntu 的显示管理器&#xff0c;负责处理登录和会话管理。 通过命令行重启 Ubuntu 18.04 上的图形界面服务&am…

本地部署Ollama+千文大模型,docker openui访问

文章目录 前言 1. 运行Ollama 2. 安装Open WebUI 2.1 在Windows系统安装Docker 2.2 使用Docker部署Open WebUI 前言 本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具&#xff0c;并安装Open WebUI结合cpolar内网穿透软件&#xff0c;实现在公网环境也能访问…

回答网友从内存中执行函数的一个问题

事情是这样的 网友想调用dll&#xff0c;但是不想把dll释放到硬盘&#xff0c;想放在内存中。 俺的回答是&#xff1a;是从内存中&#xff0c;根据pe结构确定call的地址。 例子 先准备一个dll library dll; {$R *.res} function getValue(p1, p2: integer): integer; s…

Android开发首页底部tab切换图标有动画效果

Android开发首页底部tab切换图标有动画效果 主页tab切换很正常&#xff0c;但往往加上写动画更好看 一、思路&#xff1a; 用属性动画&#xff0c;并且事先准备多张图片&#xff0c;用于切换后播放动画 二、效果图&#xff1a; 单纯图看不出来&#xff0c;看下视频效果 An…

slam系列2:刚体坐标变换

线性代数的基础知识参考这篇&#xff1a;https://xin1999.blog.csdn.net/article/details/124779288 1. 刚体变换 刚体变换仅有旋转平移功能&#xff0c;矩阵模式表达为&#xff1a; a ′ R a t aRat a′Rat 齐次坐标就是在原n维坐标表示上增加了一个维度&#xff0c;使用n…