0
在我嘗試運行時,我在同一臺機器上編譯,鏈接和運行的程序有可能出現GLIBCXX版本錯誤,這怎麼可能?有人知道嗎?運行在同一臺機器上編譯的程序時,GLIBCXX版本錯誤
這裏是我得到的錯誤:
0.01s$ build/test/gamgee_test
build/test/gamgee_test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by build/test/gamgee_test)
build/test/gamgee_test: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by build/test/gamgee_test)
全輸出(帶有詳細= 1),包括建設和運行是在這裏: https://travis-ci.org/broadinstitute/gamgee/jobs/39751787
這是以前沒有發生的事情,只有經過我切換到cmake。同樣的代碼與Clang一起運行良好(使用捆綁版本的libstdC++,因爲我沒有在VM上安裝libC++)。該日誌在這裏:https://travis-ci.org/broadinstitute/gamgee/jobs/39751786
非常困惑。
我該如何檢查運行時並明確編譯庫路徑?我認爲'ld --verbose | grep SEARCH'告訴我編譯和運行時的搜索路徑。 – Carneiro 2014-11-02 15:27:32
你說得對,從gcc 4.6安裝了第二個libstdC++。經過多番調整,我可以通過從/ usr/lib64鏈接來替換4.9.1 stdlibC++。這是我可以欺騙travis的唯一方式(因爲我無法將/ usr/lib64添加到ld.so.conf中)。 – Carneiro 2014-11-02 16:46:27