使用全志方案遇到glibc库版本低以及编译报错的解决方法

news2024/11/17 11:34:46

Glibc 包含了linux一些主要的C库,用于分配内存、搜索目录、打开关闭文件、读写文件、字串处理、模式匹配、数学计算等,在遇到glibc库版本低编译还报错的情况时,遵循以下步骤解决

参考文章:如何编译glibc库

make工具

注意由于AW服务器make版本为3.8.1,在编译glibc高版本时候不兼容,所以需要更新make工具。假如服务器make版本较高,可以不用更新make工具。

在这里插入图片描述

网址 http://ftp.gnu.org/pub/gnu/make ,下载最新版本4.3。解压后,对make工具进行安装。进入make-4.3源码目录,执行以下命令。

# prefix 后面路径为make工具安装路径,这里我们指定安装到out目录下。
./configure --prefix=${path}
make 
make install

在这里插入图片描述

安装完成,我们看到make 4.3版本

在这里插入图片描述

glibc源码下载

网址 http://ftp.gnu.org/pub/gnu/glibc/ ,下载所需的glibc版本,注意gcc工具链版本和glibc版本需要匹配。

如下图所示是准备好编译脚本env. sh,glibc各个版本源码。

在这里插入图片描述

env.sh是把所有编译步骤整合在一起的脚本,可以根据具体情况单独执行每条指令。

打开脚本env.sh脚本。第4行是gcc位置,第5行是make工具位置(不需要安装高版本make可以去掉),第7行是glibc版本,第12行是glibc源码路径,第13行是glibc生成库文件路径,第14行是glibc编译过程产生中间文件存放路径,第16行是修改环境变量,使用我们自己的make和gcc工具。第30-33行,用于编译glibc。

在这里插入图片描述

其中31行 --host=arm-none-linux-gnueabihf ,host填入值要和gcc匹配 ,否则会出差。

在这里插入图片描述

在这里插入图片描述

运行env.sh脚本

env.sh

./env.sh

注意下信息,我们可以看到glibc生成准备环境时候,已经使用了我们指定gcc工具链,make工具。

在这里插入图片描述

在这里插入图片描述

编译完成后,我们看到对应so库

在这里插入图片描述

替换glibc,例如在我们测试demo,修改Makefile,指定到我们glibc版本路径即可

重新编译,查看对应执行文件,看到已经使用对应版本版本glibc库

strings main | grep glibc

在这里插入图片描述

版本匹配问题

1、gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi版本,glibc 2.29以下版本都可以编译通过

2、gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf版本,目前只在glibc 2.33编译通过,其他版本需测试。

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

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

相关文章

Flask基础及常见问题整理

一、Flask框架介绍 使用python开发后端,目前主流的框架就是Flask和Django。其中,Flask是一款轻量级的Python web框架,有以下主要特点: 1. 简单易用 Flask很简单易用,可以快速上手开发web应用。它只依赖Werkzeug和Jinja2两个库,…

Uniformer 训练心得

这是我配环境进行训练的第一个程序,遇到了很多问题,在这里总结一下 首先是配环境 按照官方代码进行配,我跑的是uniformer中的object detection 官方github 在这里我遇到的问题 配mmdetection时总是代码有标红错误,注意&#xf…

卡萨帝:领跑者的代价和陪跑者的聪明

一台设备可以卖1.2亿欧元,而世界上只有一家公司可以生产;占据市场80%份额,在高端光刻机领域处于垄断地位;看不见任何竞争对手。 看完这几个信息,相信有些人已经猜到是何方神圣了,这正是荷兰的光刻巨人ASML…

为什么单击并按住标题栏,程序运行得更快?

有时候,人们会发现这样一个怪异现象:如果在执行一项长时间运行的任务的时候,在标题栏按下鼠标,这个时候,会发现程序运行的更快了一些。 这件奇怪的事情通常是发生在这样一种场景:当程序花费太多时间更新其…

手机录屏录音不用愁,这些方法无需ROOT就能内录声音!

现在不少人喜欢用视频分享生活,除了外拍视频,或多或少也有需要内录视频的时候,比如录个操作步骤啊、游戏视频啊,或者录个网课、录首歌啥的… 之前也有不少粉丝留言问过我这个问题,所以今天就打算来和大家简单分享一下…

JSP自定义标签【上】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于自定义标签的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.什么是标签 二.什么是自定义标签…

国产骨传导耳机哪个牌子好,分享几款表现不错的国产骨传导耳机

骨传导耳机是一种新兴的耳机技术,其原理是将声音转化为不同频率的机械振动,通过人的颅骨、骨迷路、内耳淋巴液、螺旋器、听觉中枢来传递声波,不通过鼓膜,不入耳,不影响耳朵的听觉。听音乐是人们生活中不可缺少的一部分…

二叉树OJ题:LeetCode--965.单值二叉树

朋友们、伙计们,我们又见面了,本期来给大家解读一下LeetCode中第965道二叉树OJ题,如果看完之后对你有一定的启发,那么请留下你的三连,祝大家心想事成! 数据结构与算法专栏:数据结构与算法 个 人…

python旅游推荐系统-计算机毕设 附源码82884

旅游推荐系统 摘 要 随着社会的快速发展和人们生活水平的不断提高,旅游已逐渐成为人们生活的重要组成部分,用户能够获取旅游信息的渠道也随信息技术的广泛应用而增加。大量未经过滤的信息在展示给用户的同时,也淹没了用户真正感兴趣的信息。为…

二十三种设计模式第十一篇--桥接模式

好久没写博客了,自从进入6月份,毕业季,全是在忙毕业的事情,都没怎么学习代码软件工程知识了,这二十三种设计模式还是得学完哈!持之以恒,我本来为了学这二十三种设计模式的初衷是为了顺利度过软考…

Azkaban的安装教程

Azkaban的安装教程 文章目录 Azkaban的安装教程写在前面集群模式安装下载安装包上传 **tar** 包解压配置 **MySQL**配置 **Executor Server**编辑 azkaban.properties同步 azkaban-exec到所有节点启动 executor server激活 executor **配置** **Web Server**编辑 azkaban.prope…

短视频seo源码搭建技术分享

一、目录及主要文件说明 bootstrap目录,存放框架引导及启动文件,非底层改动,无需修改。其中的functions.inc中可以定义一些全局函数error目录,存放404、500等常见错误模板文件,非需勿动includes目录,drupal…

SpringBoot 如何使用 JProfiler 进行性能测试

SpringBoot 如何使用 JProfiler 进行性能测试 在 SpringBoot 应用程序中,我们可以使用 JProfiler 进行性能测试。JProfiler 是一款专业的 Java 性能分析工具,可以帮助我们识别和解决应用程序的性能问题。使用 JProfiler 可以让我们更加准确地测试代码的…

C语言进阶教程(字符串深入)

文章目录 前言一、字符数组赋值注意事项二、混淆点三、字符串字面量和字符数组的区别四、字符串长度总结 前言 其实在C语言中是没有真正的字符串的,在C语言中字符串都是使用字符数组来完成的。 一、字符数组赋值注意事项 在C语言中,字符数组&#xff…

[RocketMQ] Producer生产者启动源码 (五)

DefaultMQProducer的关系图: 文章目录 1.创建DefaultMQProducer实例2.start启动生产者2.1 getOrCreateMQClientInstance获取或者创建MQClientInstance2.2 registerProducer注册生产者2.3 start启动MQClientInstance2.4 startScheduledTask启动各种定时任务2.4.1 updateTopicRou…

【Linux】切换内核版本(Centos)

1.查看服务器已安装的所有内核版本 awk -F\ $1"menuentry " {print i " : " $2} /etc/grub2.cfg0 : CentOS Linux (3.10.0-1160.83.1.el7.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-1160.80.1.el7.x86_64) 7 (Core) 2 : CentOS Linux (3.10.0-1127.el7.…

求最小函数依赖集(例题讲解)超详细,易理解

在关系R<U,F>中&#xff0c;UABCDEG F{BG->C&#xff0c;BD->E,DG->C,ADG->BC,AG->B,B->D} 先进行第一大步&#xff1a; 先看右边&#xff1a; 如果有BG->C,G-->C,因为单G就可以推出C了就不需要BG--->C了&#xff0c;可以把BG--->C这个…

Segment Anything Model(SAM)

Segment Anything Model&#xff08;SAM&#xff09;是Facebook Research近来开源的一种新的图像分割任务、模型。Segment Anything Model&#xff08;SAM&#xff09;可以从输入提示&#xff08;如点或框&#xff09;生成高质量的对象掩模&#xff0c;并可用于生成图像中所有对…

1、一条 SQL 查询语句是如何执行的?

基础篇 第一课、一条 SQL 查询语句是如何执行的&#xff1f; 下面是 MySQL 的基本架构示意图&#xff0c;从中可以清楚地看到 SQL 语句在 MySQL 的各个功能模块中的执行过程。 大体来说&#xff0c;MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存…

AI近十年盘点:纵览AI发展历程,探寻AI未来走向

编者按&#xff1a;当我们回顾过去十年的人工智能发展历程时&#xff0c;可以看到一场现在还正在进行的变革&#xff0c;对我们的工作方式、商业运营模式和人际交往行为都产生了深远的影响。从2013年的AlexNet到变分自编码器&#xff0c;再到最近的生成式大模型&#xff0c;人工…