4

按照开发人员指南一步一步地在 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$

4

1 回答 1

5

看起来你遇到了这个错误

为解决该问题提出了以下建议:

于 2016-11-16T07:03:12.920 回答