【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决

大家知道TSINGSEE青犀视频的国标平台EasyGBS目前已经是一套成熟完善的视频流媒体服务平台了,为了能够让国标协议的户外作业移动化和多样化,我们又开发了配合EasyGBS平台使用的国标GB28181协议推流平台EasyGBD。国标EasyGBD通过国标GB28181协议进行视频流媒体传输,在使用手机等移动设备进行执法或者户外监控的时候,能够实现户外移动监控的网页无插件直播。

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第1张图片

最近我们重新编译了EasyGBD,发现出现undefined reference to 'clock_gettime@GLIBC_2.17 '的报错。考虑到之前的情况,其实我们在Linux下编译其他TSINGSEE青犀视频平台时,也接触过此类报错:
undefined reference to ‘xxxxxxxx@GLIBC_xxxxx’。

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第2张图片

针对undefined reference to 'xxxxxxxx@GLIBC_xxxxx’类似错误,可以通过升级GLIBC版本来解决相关问题。升级之前查询当前系统的GLIBC版本。

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第3张图片

以下从GLIBC_2.12升级到2.17的步骤说明:

1.下载对应的glibc版本,如
undefined reference to `clock_gettime@GLIBC_2.17’
需要下载glibc2.17版本

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第4张图片

2.安装部署
tar -xf glibc-2.17.tar.gz

24.png

cd glibc-2.17

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第5张图片

mkdir build cd build

26.png

…/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

27.png

make -j 8

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第6张图片

make install

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第7张图片

3、安装完成后查询GLIBC版本
strings /lib64/libc.so.6 | grep GLIBC

【技术教程】Linux下编译国标GB28181视频推流组件EasyGBD报错undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解决_第8张图片

升级完成后,我们再次重新编译EasyGBD,则此报错消失,编译得以继续。如果大家在编译其他东西时碰到了此类报错,可以先通过该方案排查一下。

国标EasyGBD已经上线,可以在TSINGSEE青犀视频官方网站内下载使用,如有疑问,欢迎联系咨询。

你可能感兴趣的:(EasyGBS)