本文基于问答整理:https://www.%ignore_a_1%.cn/link/9a1e6dff7dbc2da64a3577c8b9a24854
由于AW服务器上的make工具版本为3.8.1,与高版本glibc不兼容,因此需要更新make工具。如果服务器上的make版本较新,则无需更新。
访问 https://www.php.cn/link/25d116dc9e29065600cd84782e385de2 下载最新版本的make工具(如4.3版)。解压后,进入make-4.3源码目录,执行以下命令进行安装:
# prefix后面路径为make工具的安装路径,这里我们指定安装到out目录下。./configure --prefix=${path}makemake install
安装完成后,你将看到make工具更新到4.3版本。
从 https://www.php.cn/link/b7e898084c1ec0616b4b2f0cf14a758b 下载所需的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匹配,否则会出错。
YOO必优科技-AI写作
智能图文创作平台,让内容创作更简单
38 查看详情

运行env.sh脚本:
./env.sh
注意观察信息,你会看到glibc生成准备环境时已经使用了我们指定的gcc工具链和make工具。

编译完成后,你将看到对应的so库文件。
替换glibc,例如在测试demo中,修改Makefile,指向我们编译的glibc版本路径。
重新编译,并查看执行文件,确认已使用相应版本的glibc库:
strings main | grep glibc
版本匹配问题:
gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi版本可以编译glibc 2.29及以下版本。gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf版本目前仅在glibc 2.33版本下编译通过,其他版本需进一步测试。
以上就是全志Tina Linux下如何编译glibc库的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/811345.html
微信扫一扫
支付宝扫一扫