はじめに
google先生に聞いても手動で設定する方法ばかり見つかったので、aptでインストールする方法を調べた。
2020/1/8 修正
リポジトリの設定
$ sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-9 main"
パッケージのインストール
$ sudo apt install clang-9 clang-tools-9 clang-tidy-9 clang-format-9 lldb-9 lld-9
シンボリックリンクの作成
Ubuntuでは複数のバージョンがインストールされている場合に、どのバージョンをアクティブにするかを管理するためのalternativesパッケージが存在する。
追加リポジトリでインストールしたclang-9はalternativesには対応していないようで、
/usr/bin/clang
の実行時にclang-9を使用したい場合、シンボリックリンクを手動で切り替える必要がある。
$ sudo ln -s -f /usr/bin/clang-9 /usr/bin/clang $ sudo ln -s -f /usr/bin/clang++-9 /usr/bin/clang++
素敵なスクリプトがあったので、これを使用する。
これを保存し、実行権限をつけて実行する。
$ wget https://gist.githubusercontent.com/junkdog/70231d6953592cd6f27def59fe19e50d/raw/92f0e73d2558402b7316021c1ab408b30e534de6/update-alternatives-clang.sh $ chmod +x update-alternatives-clang.sh $ sudo ./update-alternatives-clang.sh 9 50
その後、update-alternatives
でclang
とllvm-config
を設定する。
clang
$ update-alternatives --config clang alternative clang (/usr/bin/clang を提供) には 2 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ 0 /usr/bin/clang-9 50 自動モード 1 /usr/bin/clang-8 50 手動モード * 2 /usr/bin/clang-9 50 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 2
llvm-config
$ update-alternatives --config llvm-config alternative llvm-config (/usr/bin/llvm-config を提供) には 2 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ 0 /usr/bin/llvm-config-8 200 自動モード 1 /usr/bin/llvm-config-8 200 手動モード * 2 /usr/bin/llvm-config-9 50 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 2
まとめ
http://apt.llvm.org/bionicにはllvm-toolchain-bionic-9
が存在するので、
リポジトリの追加とaptコマンドでインストール可能。
alterntivesの自動設定はされないので、必要に応じてシンボリックリンクリンクを貼り替える必要がある。
素敵なスクリプトのお世話になる。