ある日、rustのプロジェクトでcargo build
をしたら突然エラーが来た。
% cargo build Compiling proc-macro2 v0.4.30
Compiling syn v0.15.44
error: linking with `cc` failed: exit code: 1
どうやらmacOS Monterey Version 12.6でm1 macでCommandLineToolsを14に上げていると、開発ツールにおいて様々な問題が発生するらしい。。
なのでCommandLineToolsをダウングレードする。
次のコマンドでCommandLineToolsを削除します。
% sudo rm -rf /Library/Developer/CommandLineTools
そして、次のURLから、CommandLineToolsの13.4をダウンロードして、インストールします。
https://developer.apple.com/download/all/?q=Command%20Line%20Tools%2013
xcodeが入っていない場合は、これだけで良いと思うのだけど、自分の場合はそれでも使われるCommandLineToolsが14のままだった。
色々確認してみたところ、xcodeのCommandLineToolsを指していた。
なので、次のコマンドを実行して、インストールしたCommandLineToolsを指定するようにした。
% sudo xcode-select -switch /Library/Developer/CommandLineTools
clangのバージョンを確認したら、14.xだったのが13.xいなったのえOKそう。
% clang -v
Apple clang version 13.1.6 (clang-1316.0.21.2.5)