2020-12-09
MacBook Air(M1)が届いた
マジで速くてビビる
一通り遊んだあと、ツールチェインをインストールした
Node.js
nvm/nodebrewを使ってv15をインストール
~14はicu周りのエラーでビルド不可
Go
masterじゃないとApple Siliconに対応してない
さらにRosetta2でブートストラップしようとすると進行しない
1. Ryzen機(Linux)があったのでこれでmasterをビルド
2. できたバイナリでdarwin/arm64のコンパイラをビルド
3. MacBook Airに持っていってビルド(cgoのため)
の3段階で実用性のあるバイナリを得ることができた
追記: GODEBUG=asyncpreempt=offを付与するとRosetta2環境でもビルドできる
謎のwarningが出る
warning: GOPATH set to GOROOT (/Users/tosuke/go) has no effect
そもそもなぜかGOPATHを設定しないと動いてくれないが、設定すると出る
まあちゃんと動くので放置している
追記: たぶん/usr/lib/binにx86_64版のGoがあったせい
どうでもいいが、完全なGoのBootstrappingは
1. Go1.4(Cで書かれている最後のバージョン)をCコンパイラを用いてビルド
2. (標準ライブラリの機能不足などが考えられるので)バージョンを登りながら少しずつセルフホストしていく
らしい。すごい
Rust
rustupを使ってbeta or nightlyチャンネルのツールチェインを入れる
stableは対応してない
#日記