ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

M1 MacでtfjsのWASMをビルドする旅(失敗しました)

スポンサードリンク

概要

  • m1 mac使っているんだけど、tfjsのwasmビルドを試みたら色々死んだ
  • 僕の中の結論はうまくいかない

試みたログ

$ docker run --rm --platform linux/arm64/v8 -it ubuntu:latest /bin/bash

$ apt update -y && \
  apt install -y gcc python3 nodejs npm curl git build-essential


$ cd ~
$ curl -L -o bazel https://github.com/bazelbuild/bazelisk/releases/download/v1.15.0/bazelisk-linux-arm64
$ chmod +x bazel
$ mv bazel /usr/local/bin/

$ git clone https://github.com/emscripten-core/emsdk.git
$ cd emsdk
$ ./emsdk install 3.1.7
$ ./emsdk activate 3.1.7


$ git clone https://github.com/s0l0ist/bazel-emscripten.git
$ cd bazel-emscripten/
$ npm run build

$ git clone https://github.com/tensorflow/tfjs.git
$ cd tfjs/tfjs-backend-wasm/
$ npm install -g yarn
$ yarn install
$ yarn build

試みのメモ

  • bazelというビルドツールはインストールできる
  • emsdkというemscriptenを利用できるやつがなんかうまく動かない
    • C/C++などの言語をブラウザ上で実行できるようにコンパイルしてくれるやつ(ふわっとした理解)
    • m1 macで動くように改良したっぽいけど、tfjsの対象なバージョンではない???
      • 例えば、build inされているnodeのバージョンが多分tfjsと差異があるので、うまくうごかないとか
      • あと、パス周りでうまく設定されない感じ(Pythonでemcc.pyを叩こうとするけど、sandboxディレクトリが作成されないなどの不具合が起こる)

あきらめました

EC2(Intel)立ち上げて、docker上で試しているけどビルドがずっと走っているうれしい(↑は夜なべしたから悲しい)