本文基于问答整理:https://www.php.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}
make
make 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匹配,否则会出错。

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

编译完成后,你将看到对应的so库文件。
替换glibc,例如在测试demo中,修改Makefile,指向我们编译的glibc版本路径。
重新编译,并查看执行文件,确认已使用相应版本的glibc库:
strings main | grep glibc
版本匹配问题:
以上就是全志Tina Linux下如何编译glibc库的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号