Linux下編譯國標GB28181視訊推流元件EasyGBD報錯undefined reference to `xxxxxxxx@GLIBC_xxxxx‘解決

EasyGBS發表於2020-12-23

大家知道TSINGSEE青犀視訊的國標平臺EasyGBS目前已經是一套成熟完善的視訊流媒體服務平臺了,為了能夠讓國標協議的戶外作業移動化和多樣化,我們又開發了配合EasyGBS平臺使用的國標GB28181協議推流平臺EasyGBD。國標EasyGBD通過國標GB28181協議進行視訊流媒體傳輸,在使用手機等移動裝置進行執法或者戶外監控的時候,能夠實現戶外移動監控的網頁無外掛直播。

124.png

最近我們重新編譯了EasyGBD,發現出現undefined reference to 'clock_gettime@GLIBC_2.17 '的報錯。考慮到之前的情況,其實我們在Linux下編譯其他TSINGSEE青犀視訊平臺時,也接觸過此類報錯:
undefined reference to ‘xxxxxxxx@GLIBC_xxxxx’。

21.png

針對undefined reference to 'xxxxxxxx@GLIBC_xxxxx’類似錯誤,可以通過升級GLIBC版本來解決相關問題。升級之前查詢當前系統的GLIBC版本。

22.png

以下從GLIBC_2.12升級到2.17的步驟說明:

1.下載對應的glibc版本,如
undefined reference to `clock_gettime@GLIBC_2.17’
需要下載glibc2.17版本

23.png

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

24.png

cd glibc-2.17

25.png

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

28.png

make install

29.png

3、安裝完成後查詢GLIBC版本
strings /lib64/libc.so.6 | grep GLIBC

30.png

升級完成後,我們再次重新編譯EasyGBD,則此報錯消失,編譯得以繼續。如果大家在編譯其他東西時碰到了此類報錯,可以先通過該方案排查一下。

國標EasyGBD已經上線,可以在TSINGSEE青犀視訊官方網站內下載使用,如有疑問,歡迎聯絡諮詢。

相關文章