今天的 Ubuntu 22.04 更新似乎破壞了 Clang 編譯器

今天的 Ubuntu 22.04 更新似乎破壞了 Clang 編譯器

在我的 Ubuntu 22.04 機器上安裝今天的更新後,使用 Clang 編譯失敗。不再找到標準頭檔。例如evaluate.cpp:19:10:致命錯誤:找不到「演算法」檔案使用支援Clang編譯的兩個不同應用程式(例如https://github.com/official-stockfish/Stockfish)和兩台不同的機器進行測試。

編輯:稍後將查看更新歷史記錄(現在沒有時間),但在更新時我看到正在安裝/更新軟體包“cpp-12”。這可能是 gcc-12,也許它混合了 Clang 也使用的一些頭檔。只是一個猜測...

Edit2:同時我刪除了 cpp-12 (也刪除了 nvidia-dkms 軟體包)但沒有運氣。 Clang 仍然找不到標準標頭。

Edit3:安裝 g++-12 就可以了。 Clang 編譯再次起作用。

答案1

安裝 g++-12,進而安裝 libstdc++-12-dev 似乎可以解決這個問題。

clang-14 依賴 libgcc-11-dev 和 libstdc++-11-dev,但不確定為什麼它有效。

答案2

我沒有找到 Stack Exchange 關於交叉發布答案的政策(有一些東西這裡),但我寫了這個答案在這裡這其實是對問題的直接回答。我不會複製貼上它,因為我可能會編輯它,而且我不想在兩個不同的地方進行編輯。

答案3

刪除 gcc-12 和 cpp-12,然​​後執行 autoremove 會有所幫助。但這並不完全是一個解決方案。

相關內容