一、问题描述。
嵌入式linux开发,使用高版本交叉编译工具,编译应用程序,在arm板中运行提示:/lib/libc.so.6: version `GLIBC_2.17' not found (required by /.../lib/libpaho-mqtt3a.so.1)。
imqttsrv: /lib/libc.so.6: version `GLIBC_2.17' not found (required by /.../lib/libpaho-mqtt3a.so.1)
二、问题分析。
arm中的动态库版本低于交叉编译工具的动态库版本。
三、解决方案。
删除与“/lib/libc.so.6”所对应的版本号相同的文件,包含软链接。拷贝交叉编译工具中对应的文件,包含软链接,即对应文件所在文件夹下的所有文件。
root@ms:/lib# ll /lib/libc.so.6
lrwxrwxrwx 1 1000 1000 14 Jun 3 2020 /lib/libc.so.6 -> libc-2.12.2.so*
rm *2.12.2*
还须拷贝交叉编译工具中“sbin”文件夹中的所有文件,至arm板下的”/rootfs/sbin“文件夹下。
附:
rootfs文件系统c/c++动态库升级:https://blog.csdn.net/weixin_43782998/article/details/111319523