编译环境为centos linux版本:3.10.0
交叉编译后,执行文件下载到开发板,运行提示“lib/libc.so.6: version `GLIBC_2.17' not found ”,问题原因开发板glibc版本低,
开发板查看如下:
/usr/com # strings /lib/libc.so.6 | grep GLIBC
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_PRIVATE
最高只支持到2.15,而编译环境支持2.17,代码中clock_gettime函数依赖于GLIBC_2.17环境。
首先想到的解决方案是升级开发板glibc,各种尝试后编译告错,放弃。
第二种方法:修改编译选项LDLIBS = -L/opt/libxml2/lib -lxml2 -lpthread -lrt 添加-lrt,使clock_gettime不再依赖于GLIBC_2.17
编译测试,通过。