按照开发人员指南一步一步地在 MAC 上对我来说失败了。
http://webassembly.org/getting-started/developers-guide/
我有一个干净的 mac 安装10.11.6 (15G31)
,这里是日志。
Mac-MBP:emsdk_portable wasm$ ./emsdk activate clang-incoming-64bit emscripten-incoming-64bit sdk-incoming-64bit 将 .emscripten 配置文件写入用户主目录 /Users/wasm/ Emscripten 配置文件 /Users/wasm/.emscripten 已被改写为以下内容: 导入操作系统 LLVM_ROOT='/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin' NODE_JS='/Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin/node' EMSCRIPTEN_ROOT='/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming' EMSCRIPTEN_NATIVE_OPTIMIZER='/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming_64bit_optimizer/optimizer' 蜘蛛猴引擎 = '' V8_ENGINE = '' TEMP_DIR = '/var/folders/wk/mngy_vmn0xs6j32tm53vvg7m0000gn/T' COMPILER_ENGINE = NODE_JS JS_ENGINES = [NODE_JS] 为了方便地从命令行访问选定的工具集,请考虑将以下目录添加到 PATH,或调用“source ./emsdk_env.sh”为您执行此操作。 /Users/wasm/repo/webassembly/emsdk_portable:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin:/Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin:/用户/wasm/repo/webassembly/emsdk_portable/emscripten/incoming Mac-MBP:emsdk_portable wasm$ source ./emsdk_env.sh 将目录添加到 PATH: PATH += /Users/wasm/repo/webassembly/emsdk_portable PATH += /Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin PATH += /Users/wasm/repo/webassembly/emsdk_portable/node/4.1.1_64bit/bin PATH += /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming 设置环境变量: EM_CONFIG = /Users/wasm/.emscripten EMSCRIPTEN = /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming Mac-MBP:emsdk_portable wasm$ cd .. Mac-MBP:webassembly wasm$ emmc --version -bash:emmc:找不到命令 Mac-MBP:webassembly wasm$ emcc --version INFO:root:generating system assets: is_vanilla.txt...(这将被缓存在“/Users/wasm/.emscripten_cache/is_vanilla.txt”中以供后续构建使用) 信息:根:-好的 emcc(Emscripten gcc/clang-like 替换)1.36.14(提交 ca2685c89546ce5f7c01e1bc769b7d2a401093dc) 版权所有 (C) 2014 Emscripten 作者(参见 AUTHORS.txt) 这是 MIT 许可下的免费开源软件。 没有保修;甚至不考虑适销性或特定用途的适用性。 Mac-MBP:webassembly wasm$ Mac-MBP:webassembly wasm$ mkdir 你好 Mac-MBP:webassembly wasm$ cd hello Mac-MBP:hello wasm$ echo '#include' > hello.c Mac-MBP:hello wasm$ echo 'int main(int argc, char ** argv) {' >> hello.c Mac-MBP:hello wasm$ echo 'printf("Hello, world!\n");' >> 你好.c Mac-MBP:hello wasm$ echo '}' >> hello.c Mac-MBP:hello wasm$ emcc hello.c -s WASM=1 -o hello.html 信息:根:(Emscripten:运行健全性检查) 警告:root:检索端口:来自 https://github.com/WebAssembly/binaryen/archive/version_21.zip 的 binaryen 警告:root:解压端口:binaryen INFO:root:generating port: binaryen_tag_version_21.txt...(这将被缓存在“/Users/wasm/.emscripten_cache/asmjs/binaryen_tag_version_21.txt”中以供后续构建) 信息:根:构建端口:binaryen -- C 编译器标识为 Clang 3.9.0 -- CXX 编译器标识为 Clang 3.9.0 -- 检查工作的 C 编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang -- 检查工作的 C 编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang -- 有效 -- 检测 C 编译器 ABI 信息 -- 检测 C 编译器 ABI 信息 - 完成 -- 检查工作的 CXX 编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++ -- 检查工作的 CXX 编译器:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin/clang++ -- 有效 -- 检测 CXX 编译器 ABI 信息 -- 检测 CXX 编译器 ABI 信息 - 完成 -- 寻找 pthread.h -- 寻找 pthread.h - 找到 -- 寻找 pthread_create -- 寻找 pthread_create - 找到 -- 找到的线程:TRUE -- 使用 -std=c++11 构建 -- 使用 -msse2 构建 -- 使用 -mfpmath=sse 构建 -- 使用 -Wall 构建 -- 使用 -Werror 构建 -- 使用 -Wextra 构建 -- 使用 -Wno-unused-parameter 构建 -- 使用 -fno-omit-frame-pointer 构建 -- 使用 -fPIC 构建 -- 使用 -O2 构建 -- 使用 -UNDEBUG 构建 -- 配置完成 CMake 警告(开发): 未设置策略 CMP0042:MACOSX_RPATH 默认启用。运行“cmake --help-policy CMP0042" 获取策略详细信息。使用 cmake_policy 命令 设置策略并禁止显示此警告。 未为以下目标指定 MACOSX_RPATH: 二进制 此警告适用于项目开发人员。使用 -Wno-dev 来抑制它。 -- 生成完成 -- 构建文件已写入:/Users/wasm/.emscripten_ports/binaryen/binaryen-version_21 扫描目标 wasm 的依赖关系 扫描目标asmjs的依赖 扫描目标支持的依赖关系 扫描目标通道的依赖关系 [ 1%] 构建 CXX 对象 src/support/CMakeFiles/support.dir/archive.cpp.o [ 2%] 构建 CXX 对象 src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o [ 4%] 构建 CXX 对象 src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/support/archive.cpp:17 包含的文件中: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/support/archive.h:27:10:致命错误:找不到“cstdint”文件 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/asmjs/asm_v_wasm.cpp:17 包含的文件中: 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/asm_v_wasm.h:20 包含的文件中: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/mixed_arena.h:20:10:致命错误:找不到“原子”文件 #包括 ^ #包括 ^ 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm/wasm.cpp:17 包含的文件中: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm.h:46:10:致命错误:找不到“cassert”文件 #包括 ^ [ 5%] 构建 CXX 对象 src/passes/CMakeFiles/passes.dir/pass.cpp.o /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/pass.cpp:17:10:致命错误:找不到“chrono”文件 #包括 ^ 产生 1 个错误。 产生 1 个错误。 make[2]: *** [src/support/CMakeFiles/support.dir/archive.cpp.o] 错误 1 make[1]: *** [src/support/CMakeFiles/support.dir/all] 错误 2make[2]: *** [src/asmjs/CMakeFiles/asmjs.dir/asm_v_wasm.cpp.o] 错误 1 make[1]: *** 等待未完成的工作.... make[1]: *** [src/asmjs/CMakeFiles/asmjs.dir/all] 错误 2 [ 8%] 构建 CXX 对象 src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o [ 8%] 构建 CXX 对象 src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o 产生 1 个错误。 make[2]: *** [src/wasm/CMakeFiles/wasm.dir/wasm.cpp.o] 错误 1 make[2]: *** 等待未完成的工作.... 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm/wasm-binary.cpp:17 包含的文件中: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm-binary.h:24:10:致命错误:找不到“cassert”文件 #包括 ^ /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/CoalesceLocals.cpp:25:10:致命错误:找不到“算法”文件 #包括 ^ [ 10%] 构建 CXX 对象 src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o 产生 1 个错误。 make[2]: *** [src/passes/CMakeFiles/passes.dir/pass.cpp.o] 错误 1 make[2]: *** 等待未完成的工作.... 在 /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/passes/CodePushing.cpp:22 包含的文件中: /Users/wasm/.emscripten_ports/binaryen/binaryen-version_21/src/wasm.h:46:10:致命错误:找不到“cassert”文件 #包括 ^ 产生 1 个错误。 make[2]: *** [src/passes/CMakeFiles/passes.dir/CoalesceLocals.cpp.o] 错误 1 产生 1 个错误。 make[2]: *** [src/passes/CMakeFiles/passes.dir/CodePushing.cpp.o] 错误 1 make[1]: *** [src/passes/CMakeFiles/passes.dir/all] 错误 2 产生 1 个错误。 make[2]: *** [src/wasm/CMakeFiles/wasm.dir/wasm-binary.cpp.o] 错误 1 make[1]: *** [src/wasm/CMakeFiles/wasm.dir/all] 错误 2 make: *** [全部] 错误 2 回溯(最近一次通话最后): 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc”,第 13 行,在 emcc.run() 运行中的文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”,第 1334 行 compile_source_file(i, input_file) 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”,第 1323 行,在 compile_source_file args = get_bitcode_args([input_file]) + ['-emit-llvm', '-c', '-o', output_file] 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc.py”,第 1306 行,在 get_bitcode_args args = system_libs.process_args(args, shared.Settings) 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py”,第 636 行,在 process_args args = port.process_args(端口,参数,设置,共享) 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”,第 34 行,在 process_args 获取(端口、设置、共享) 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”,第 29 行,在 get return [shared.Cache.get('binaryen_tag_' + TAG, create, what='port', extension='.txt')] 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/cache.py”,第 95 行,在 get 临时=创建者() 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/ports/binaryen.py”,第 24 行,在创建中 ports.build_native(os.path.join(ports.get_dir(), 'binaryen', 'binaryen-' + TAG)) 文件“/Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/tools/system_libs.py”,第 607 行,在 build_native subprocess.check_call(['cmake', '--build', '.'] + make_args, env=env) 文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第 540 行,在 check_call 引发 CalledProcessError(retcode, cmd) subprocess.CalledProcessError:命令'['cmake','--build','.','--','-j','4']'返回非零退出状态2 Mac-MBP:hello wasm$ emcc hello.c -s WASM=1 -o hello.htmlc Mac-MBP:你好 wasm$ whi 其中,而 Mac-MBP:你好 wasm$ whi 其中,而 Mac-MBP:hello wasm$ which emcc /Users/wasm/repo/webassembly/emsdk_portable/emscripten/incoming/emcc Mac-MBP:你好 wasm$ Mac-MBP:你好 wasm$ clang -v clang 版本 3.9.0 (https://github.com/kripken/emscripten-fastcomp-clang/b6ea91778b2b30e6746f2a5f2baba463948729a4) (https://github.com/kripken/emscripten-fastcomp/dfcb07a871addf339ffac17e606e16e97e36.36414) (emscripten) (emscripten) ) 目标:x86_64-apple-darwin15.6.0 线程模型:posix 安装目录:/Users/wasm/repo/webassembly/emsdk_portable/clang/fastcomp/build_incoming_64/bin Mac-MBP:你好 wasm$