カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

Ubuntu 16.04 on WSL を使おうかと思ったが、結局は取り止めた話

nixpkgs から提供される golang が build 出来なかったので、導入は取り止めました。

何が起きたのか

まぁこれ、 nixpkgs の問題でも golang の問題でもなく、 Microsoft の Windows subsystem for Linux の syscall 関係の問題だと思うんですが、 nixpkgs のパッケージ定義に基く golang 1.9.2 が build 出来なかった関係で、 普段良く使う pt (the platinum searcher) が使えないのと、 あとそもそも処理系動かないんだったら、golang を使った開発出来ないよね……って感じだったので、 結局 Ubuntu 16.04 with nixpkgs on WSL で開発環境を整えるのを止めました、と言う話です。

それで、一応この問題について調べたところ、golang 側でも問題の認識はしているっぽいのですが、

それ golang 側の問題じゃなくて、Windows subsystem for Linux 側の syscall の問題だよねぇ

という感じで、当面はまだこのままの状態が続きそうっぽい、と予感したので、 とりあえず NixOS の Hyper-V Guest に戻りました。

なお、その辺りの該当 Issue は下記になります:

Windows Subsystem for Linux vs Hyper-V Linux Guest

で、個人的に思うのは、Windows 10 Pro 以上の Edition を使っていて、Windows の Client Hyper-V とかを使えるんであれば、 Windows Subsystem for Linux を使うよりも、Hyper-V で Linux Guest 作った方が、 Compatibility の面では相当に良いんじゃないかなぁ、なんて思ってたりもしますね。

ただまぁ、Windows と Linux の Seamless な Integration とかはちょっと Hyper-V では厳しい感じですが、 その辺り、Terminal Emulator で開発している限りでは問題にならなさそうなので、 ま、僕は当面は、

  • NixOS on Hyper-V Guest in Windows 10 Pro

で開発して行くしかないかなー、なんて思っています。はい。

以上

とりあえず、今日の話は以上です。