No working C compiler found


在CI服務器上編譯x264,configure時出現“ No working C compiler found”的詭異錯誤,說詭異是因為該項目在自己電腦上編譯過n多遍了,沒有遇到過。

./configure --enable-shared --enable-pic --disable-cli --prefix=/data/project/ENC4100/build/../3rdparty --extra-cflags="-fPIC -DENABLE_LMSDK" --extra-ldflags="-L/data/project/ENC4100/build/../3rdparty/lib -lintel_encode -lva -lva-drm -lmfxhw64"
No working C compiler found.

在網上搜了下有人說和編譯器沒安裝好有關系,但試了下編譯其它代碼沒有問題,並且系統和編譯器安裝命令都是用過多次的,這個環節出問題的可能性很小。

再對比發現似乎和--extra-ldflags參數有關,開始一直懷疑編譯腳本中雙引號用的不規范,在不同機器上結果有差異造成的,追蹤了半天沒找到原因。

后來單獨將編譯命令提取出來在shell中執行,發現錯誤依然存在。然后將命令拷貝到本機執行,依然存在,這回就好辦了。

在本機上用編譯腳本執行,還是不出錯。再次提取本機編譯腳本的命令行和服務器的對比,發現只有-L路徑不一樣。至此可以確定和路徑有關系了,進一步想到是configure時用 --extra-ldflags的參數編譯測試程序鏈接不成功導致的。檢查-L的路徑發現果然libmfxhw64.so庫不存在,原因是近期調整工程目錄,將git上3rdparty/lib中的預置庫刪除了,改成編譯時拷貝或生成,但編譯x264的步驟在拷貝 libmfxhw64.so之前,因此出現了找不到庫的情況。






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM