I'm trying to build a hello world example in wasm. I've followed the instructions in this article and I get the following error:
Error dump
error: linking with `emcc` failed: exit code: 1
|
= note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib" "/home/me/devel/non-work/sandbox-rs/browser-test/target/wasm32-unknown-emscripten/debug/deps/browser_test-857fb2f0bd318beb.0.o" "-o" "/home/me/devel/non-work/sandbox-rs/browser-test/target/wasm32-unknown-emscripten/debug/deps/browser_test-857fb2f0bd318beb.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"___rdl_usable_size\",\"___rdl_alloc\",\"___rdl_oom\",\"___rdl_realloc_excess\",\"___rdl_realloc\",\"___rdl_alloc_zeroed\",\"___rdl_dealloc\",\"___rdl_grow_in_place\",\"___rdl_shrink_in_place\",\"___rdl_alloc_excess\",\"_rust_eh_personality\"]" "/home/me/devel/non-work/sandbox-rs/browser-test/target/wasm32-unknown-emscripten/debug/deps/browser_test-857fb2f0bd318beb.crate.allocator.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/home/me/devel/non-work/sandbox-rs/browser-test/target/wasm32-unknown-emscripten/debug/deps" "-L" "/home/me/devel/non-work/sandbox-rs/browser-test/target/debug/deps" "-L" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-2d68360a753fa4f5.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc_system-9972c7db0df95040.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/librand-ce1bc40dfee9b55f.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-429ce49a29d5b09d.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-1ece70250e8652cf.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libstd_unicode-61b9d391a2fc6b86.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-0df7ef13535f5ed7.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-50d360f1fe8b2e62.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-c8fea11b48232c5c.rlib" "/home/me/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-ebe31891daed2f11.rlib" "-l" "c" "-s" "BINARYEN=1" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1"
= note: INFO:root:generating port: binaryen_tag_version_37.txt... (this will be cached in "/home/me/.emscripten_cache/asmjs/binaryen_tag_version_37.txt" for subsequent builds)
INFO:root:building port: binaryen
/home/me/.emscripten_ports/binaryen/binaryen-version_37/src/wasm/wasm-s-parser.cpp: In member function ‘wasm::Expression* wasm::SExpressionWasmBuilder::makeExpression(wasm::Element&)’:
/home/me/.emscripten_ports/binaryen/binaryen-version_37/src/wasm/wasm-s-parser.cpp:871:9: error: this statement may fall through [-Werror=implicit-fallthrough=]
if (!strncmp(str, "wake", strlen("wake"))) return makeAtomicWake(s);
^~
/home/me/.emscripten_ports/binaryen/binaryen-version_37/src/wasm/wasm-s-parser.cpp:873:7: note: here
default: abort_on(str);
^~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [src/wasm/CMakeFiles/wasm.dir/build.make:159: src/wasm/CMakeFiles/wasm.dir/wasm-s-parser.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:843: src/wasm/CMakeFiles/wasm.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
ERROR:root:a problem occurred when using an emscripten-ports library. try to run emcc --clear-ports and then run this command again
Traceback (most recent call last):
File "/home/me/packages/emsdk-portable/emscripten/incoming/emcc.py", line 2615, in <module>
run()
File "/home/me/packages/emsdk-portable/emscripten/incoming/emcc.py", line 1416, in run
extra_files_to_link = system_libs.get_ports(shared.Settings)
File "/home/me/packages/emsdk-portable/emscripten/incoming/tools/system_libs.py", line 701, in get_ports
ret += filter(lambda f: not f.endswith('.txt'), port.get(Ports, settings, shared))
File "/home/me/packages/emsdk-portable/emscripten/incoming/tools/ports/binaryen.py", line 29, in get
return [shared.Cache.get('binaryen_tag_' + TAG, create, what='port', extension='.txt')]
File "/home/me/packages/emsdk-portable/emscripten/incoming/tools/cache.py", line 100, in get
temp = creator()
File "/home/me/packages/emsdk-portable/emscripten/incoming/tools/ports/binaryen.py", line 24, in create
ports.build_native(os.path.join(ports.get_dir(), 'binaryen', 'binaryen-' + TAG))
File "/home/me/packages/emsdk-portable/emscripten/incoming/tools/system_libs.py", line 689, in build_native
subprocess.check_call(['cmake', '--build', '.'] + make_args)
File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--', '-j', '8']' returned non-zero exit status 2
-- Building with -std=c++11
-- Building for platform x86-64
-- Building with -Wall
-- Building with -Werror
-- Building with -Wextra
-- Building with -Wno-unused-parameter
-- Building with -fno-omit-frame-pointer
-- Building with -fPIC
-- Building with -O2
-- Building with -UNDEBUG
-- Configuring done
-- Generating done
-- Build files have been written to: /home/me/.emscripten_ports/binaryen/binaryen-version_37
[ 2%] Built target cfg
[ 5%] Built target asmjs
[ 14%] Built target support
[ 17%] Built target ast
[ 18%] Building CXX object src/wasm/CMakeFiles/wasm.dir/wasm-s-parser.cpp.o
[ 22%] Built target emscripten-optimizer
[ 65%] Built target passes
I was wondering if anyone had any advice?