1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Apple M1版 MacでEmscripten SDK 設置問題

Last updated at Posted at 2021-02-05

#問題点
Apple M1 搭載のモデル(Mac Mini)で、Emscripten SDKのインストールに問題。

EMSDKをダウンロードし、

% ./emsdk install latest

Error: No tool or SDK found by name 'sdk-releases-upstream-4764c5c323a474f7ba28ae991b0c9024fccca43c-64bit'.

の問題があり、そこでソースからのインストールを試みました。

% ./emsdk install sdk-upstream-master-64bit



Done installing tool 'llvm-git-master-64bit'.
Manifest error: No tool by name 'node-12.18.1-64bit' found! This may indicate an internal SDK error!
Traceback (most recent call last):
File "/Users/<ユーザー名>/emsdk/./emsdk.py", line 3082, in
sys.exit(main())
File "/Users/<ユーザー名>/emsdk/./emsdk.py", line 3062, in main
success = tool.install()
File "/Users/<ユーザー名>/emsdk/./emsdk.py", line 1840, in install
return self.install_sdk()
File "/Users/<ユーザー名>/emsdk/./emsdk.py", line 1851, in install_sdk
success = tool.install()
AttributeError: 'NoneType' object has no attribute 'install'

LLVMまではインストールできたが、Nodeの設置に問題があるということで、emsdk_manifest.jsonを見るとその記述があり、スキップさせてみましたが、後でNodeがないとエラーが出ました。

それから、この記事に辿り着き、問題は(とりあえず)解決しました。
https://github.com/emscripten-core/emsdk/issues/671

#解決方法

① ダウンロードしたemsdkフォルダ内、emsdk.pyの112行目を以下に修正。
machine = 'x86_64'

② Terminal を、Rosettaを使用して開くようにする
ユーティリティ → ターミナル を右クリック → 情報を見る → 一般情報内の → 「Rosettaを使用して開く」

③ この後、もう一度SDKのインストールを試みる
% ./emsdk install sdk-upstream-master-64bit

④ Activateする
% ./emsdk activate sdk-upstream-master-64bit

  • インストール完了後、emscriptenへのPATH登録は必要です。
  • 参考にしました記事にもあるように、あくまでこれはビルド過程を固定させて通しているだけですし、本質的なサポートが必要でしょうね。

#環境

#####以下、自分の環境になります。
私はNodeのバージョンをnvmで修正しましたので12.18.1になっていますが、最新のバージョンでも今回の問題では大丈夫ではないかと思います。

a. Homebrew
% brew --version
Homebrew 2.7.7

b. Node
% nvm --version
0.37.2

% node --version
v12.18.1

c. Python
% pyenv --version
pyenv 1.2.22

% python --version
Python 3.9.1

d. XCODE
% xcodebuild -version
Xcode 12.3
Build version 12C33

e. GIT
% git --version
git version 2.30.0

f. Make
% make --version
GNU Make 3.81

g. CMake
% cmake --version
cmake version 3.19.3

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?