WSLでkindlegenを動かしたかった
2018/09/25
kindlegenにはWindows版のバイナリもありますが、他のツールと組み合わせて使うときはLinux環境のほうが便利です。なのでWSL(Windows Subsystem for Linux)上で動かそう、と思ったらうまくいきませんでした。
調べてみたら
- kindlegenは32bit binaryしか提供されていない
- WSLでは32 bit ELF binaryは動作しない
なので無理ゲーなのですね...
KindleGen v2.9 for Linux 2.6 i386
と明記されています。
一方のWSLは Please enable WSL to run 32 bit ELF binaries – Welcome to the Windows developer feedback site! に
WSL currently only works on x64 systems, and only runs ELF-64 binaries.
We don’t currently have plans to support running ELF-32 binaries on WSL x64.
とコメントされている通り、32 bit ELF binaryが動作しません。対応予定はなく「仕様」ということになります。
以下の情報によると黒魔術的なことができるのかもですが、そこまでの情熱はない...
- WSLで32bitなELFが動いた(ただしQEMU) - tmytのらくがき
- I wonder if WSL will support the i386 (32 bit) program running later? · Issue #2468 · Microsoft/WSL · GitHub
ということで、WSL上でkindlegenを動かすのは諦め、
- WSLからWindows版のkindlegenを呼び出す
- おとなしくLinux環境を用意する
- VagrantとかDockerとか
というアプローチを取るのが順当なようです。うーん、残念。
おススメ