はじめに
つい先日、Ubuntu 18.04でtinygoをインストールする手順を書いたが、 この短期間でLLVMが8になったようで、前回の記事の内容はほぼ使えなくなったので書き直す。
ここの手順が更新されており、 Ubuntuではビルド済みのdebパッケージが提供されているので 簡単に導入したい場合はこれを使用すると良い。
ここでは前回と同様にソースからインストールする。
Requirement
- Go 1.11+
- LLVM 8
あとは、ターゲットのツールチェイン。
- ARM Cortex-M
- AVR(Arduino)
- WebAssembly
詳細は先述のリンク元を参照。
筆者環境はarm-none-eabiがインストール済み。
goのインストール
いろいろ手段があるが、インストーラによるインストールが一番便利だった。
$ sudo apt install wget git $ wget -q https://storage.googleapis.com/golang/getgo/installer_linux $ chmod +x installer_linux $ ./installer_linux -version 1.11.7
今回もgoのバージョンは1.11.7
とした。
GOPATHの設定
.bashrc
に以下の内容を追加。
export PATH=$PATH:/home/mickey/.go/bin export GOPATH=/home/mickey/go export PATH=$PATH:/home/mickey/go/bin
llvm-8のインストール
ここを参考にした。
sources.listの追加
前回はllvm 7.0.1をインストールするために、/etc/apt/sources.list.d/llvm.list
を次の内容で作成したため、
llvm8を入れたい今回は不要かもしれないが一応やっておく。
# i386 not available deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main # 7 deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-7 main # 8 deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic-8 main
鍵を追加。
$ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - $ sudo apt update
パッケージのインストール
Install (stable branch)
に書いてあったものをだいたい入れる。
$ sudo apt install clang-8 lldb-8 lld-8 $ sudo apt install libllvm-8-ocaml-dev libllvm8 llvm-8 llvm-8-dev llvm-8-doc llvm-8-examples llvm-8-runtime $ sudo apt install clang-8 clang-tools-8 clang-8-doc libclang-common-8-dev libclang-8-dev libclang1-8 clang-format-8 python-clang-8 $ sudo apt install libfuzzer-8-dev $ sudo apt install lldb-8 lld-8 libc++-8-dev libc++abi-8-dev
tinygoのインストール
go get
を実行する。今回はこれで問題なくインストールできる。
$ go get -u github.com/tinygo-org/tinygo
まとめ
最新版(0.5.0)ではdebパッケージが用意されたので、ソースからインストールしなくても簡単にインストールができる。