作業の流れ
- WSL2のセットアップ
- Windows Terminalのインストール
- Home brewのインストール
- Carbonのgetting started
1. WSL2のセットアップ
でUbuntuがインストールされます。
自分の環境では、以前にWSLを作っていたため、注意書きにある現象が発生した。
wsl --install を実行して WSL ヘルプ テキストが表示される場合
そのため、下記を実施した。
$ wsl --list --online
で使用可能なディストリビューションを確認
$ wsl --install -d Ubuntu-20.04
でUbuntu 20.04をインストール
インストールが完了すると、ubuntuのコンソールが立ち上がり、usernameとpasswordを求められるので、設定する。
そして、パッケージマネージャーを更新する。
$ sudo apt update && sudo apt upgrade
2. Windows Terminalのインストール
必須ではないが、
マイクロソフトのドキュメントでwindows terminalの利用が紹介されていたので、せっかくだから入れてみた。
Microsoft Storeからインストールする。
ドキュメントでは、コマンドパレット(ctrl + shift + p)を使っていろいろ設定できそうなことを書いているが、今回はスキップした。
3. Homebrewのインストール
事前準備
事前に必要なパッケージをインストールしておく。
$ sudo apt-get install build-essential curl file git
Homebrew自体のインストール
homebrew のトップページにインストール用のコマンドが書いてあるので、それを実行する。
$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Installation successful!
でインストール完了。
このログの後に、Next Stepがあるので控えておく。
==> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/username/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
- Install Homebrew's dependencies if you have sudo access:
sudo apt-get install build-essential
For more information, see:
https://docs.brew.sh/Homebrew-on-Linux
- We recommend that you install GCC:
brew install gcc
- Run brew help to get started
- Further documentation:
https://docs.brew.sh
Next steps
PATHの設定
- Run these two commands in your terminal to add Homebrew to your PATH:
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"' >> /home/username/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
homebrewの依存パッケージのインストール
事前準備で実施済み
gccのインストール
なくてもいいかもしれないが、推奨されているので実施。
4. Carbonのgetting started
事前準備
先出ししておくと、zlibが見つからなくてエラーになるので、インストールする。
$ sudo apt-get install zlib1g-dev
getting startedの実行
# Install bazelisk using Homebrew.
$ brew install bazelisk
# Install Clang/LLVM using Homebrew.
# Many Clang/LLVM releases aren't built with options we rely on.
$ brew install llvm
$ export PATH="$(brew --prefix llvm)/bin:${PATH}"
# Download Carbon's code.
$ git clone https://github.com/carbon-language/carbon-lang
$ cd carbon-lang
# Build and run the explorer.
$ bazel run //explorer -- ./explorer/testdata/print/format_only.carbon
しばらく待つと、下記のような出力が出る。
fn Main() -> i32 {
var s: auto = "Hello world!";
Print(s);
return 0;
}
とあるので、コマンドで渡したcarbonファイルを実行しているのかな?
補足:エラーについて
事前準備でzlibをインストールしない場合、ビルド時に下記のようなエラーがでる。
external/llvm-project/llvm/lib/Support/CRC.cpp:86:10: fatal error: 'zlib.h' file not found
#include <zlib.h>
こういう時に、ubuntuで足りないパッケージを見つける方法は、
こちら が参考になる。
apt-fileというパッケージを使う方法と、
Ubuntu パッケージ検索 のサイトを使う方法がある。
例えば、今回のケースだと、検索ページの パッケージの内容を検索
で zlib.h
と入力して検索すると、
図のような結果が得られる。
この情報から、/user/include/zlib.hにあるzlib1g-devをインストールした。
終わりに
今回は、windows上でcarbonのgetting startedを実行するところまでやった。
carbon自体は、rustなどが使える環境であるならそっちを使えという、姿勢で使い時が難しそうだが、
c++環境で、モダンな言語が使えるようになるのは魅力的に見える。
UEとかで動かないかな?