tomassedovic / tcod-rs

Rust bindings for libtcod 1.6.3 (the Doryen library/roguelike toolkit)
Do What The F*ck You Want To Public License
229 stars 45 forks source link

Problem compiling for wasm #276

Open tanis2000 opened 5 years ago

tanis2000 commented 5 years ago

I'm trying to get tcod-rs to compile for wasm (actually the wasm32-unknown-emscripten target) but I'm getting some errors about the underlying C code and I'm having a hard time finding out the reason why.

I guess there should be a way to tell emscripten to compile libtcod on its own and use that output as the library to link but I'm not sure this is actually happening.

Any help would be greatly appreciated.

Here's the command I'm running to compile my project that has tcod-rs 0.13 as a dependency:

cargo build --target wasm32-unknown-emscripten --verbose

The result is the following output:

       Fresh unicode-xid v0.1.0
       Fresh cc v1.0.29
       Fresh pkg-config v0.3.9
       Fresh libc v0.2.39
       Fresh itoa v0.4.2
       Fresh bitflags v0.1.1
       Fresh lazy_static v0.1.16
       Fresh rand v0.4.3
       Fresh proc-macro2 v0.4.17
       Fresh serde v1.0.76
       Fresh ryu v0.2.6
       Fresh rand v0.3.22
       Fresh quote v0.6.8
       Fresh tcod-sys v5.0.0
       Fresh serde_json v1.0.26
       Fresh syn v0.14.9
       Fresh serde_derive v1.0.76
       Fresh tcod v0.13.0
   Compiling roguelikers v0.1.0 (/Users/tanis/Documents/roguelikers)
     Running `rustc --crate-name roguelikers src/main.rs --color always --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=cf42fcfc82f58801 --out-dir /Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps --target wasm32-unknown-emscripten -C incremental=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/incremental -L dependency=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps -L dependency=/Users/tanis/Documents/roguelikers/target/debug/deps --extern rand=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/librand-b554058fd1bc2c1a.rlib --extern serde=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde-fb31efce50068728.rlib --extern serde_derive=/Users/tanis/Documents/roguelikers/target/debug/deps/libserde_derive-d795b5470a45c801.dylib --extern serde_json=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde_json-82ee1bfd55d9cda4.rlib --extern tcod=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libtcod-977b6926b2a27d45.rlib -L /Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/build/tcod-sys-2529c803a8e52881/out`
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.11ukagxhmlw0gho6.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1240fejm6zcozp7q.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.13xbdyxhfijio6sk.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1bxd1mucvmdicqdc.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1fclg8kqs15thzxb.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1gnzcnvs04rlmv3.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1h1ksp0j12fjdgr5.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1rn33m99oviwnvkk.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1t5lmu1ldw2bmqyt.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1uo6f9caoh971ug2.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1y4jmz0bbrvuysjh.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.1zczzqqgvpjy7oky.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.24cteezabnsqxdg7.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.25wlcv6lpwy2ioc6.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.27wyndfrncx0pjjz.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2c6offh118d5asu6.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2d6i8swd8qvo7tzk.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2lgyhu8ggc5ye77u.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2n2j17eqfvu6hhvp.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2pr7zg2dfhgrb8lx.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2q8qlc1gjkvu5h4r.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2rb38giz9jfza46a.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2t3keujocwujkqrw.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2tr795bgss6s80lp.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2ucq1fc24xrv93x4.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.2yms2tu9lx5vyf7c.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.32fqnnzsx3rtxhuw.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.32weon7b1sud4s2.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.33jkb0vkcrjvmzxs.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.34cvaidghd8w2xkm.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.35i45qv9qm28hrn8.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.35nkz2emkdaoa7lj.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.382i4uqclo9ryxag.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3apcdl2wiys0ekts.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3dnfj9p6mjnx8epl.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3dugjhzhtpu6f4fx.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3hpityfbt0zmf2jh.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3hw6cr494nf7ti2b.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3mhzutjkt8n1s5em.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3mkrcvvt9v7qkadh.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3ncz4og1jj8r7pw6.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3rne6dm5r9xgfp9a.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3u59twepxw2hw6n3.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3v4wkhau6zza4ulf.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3vvl3pzy78hi6ou0.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3wuueezxe1d4qopz.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3wvbyn7p2d0b52rt.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3yyzjwebja42on9s.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3zb1f6f4ofpjzh9l.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.40jjm2n1be9jwgjc.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.44qxej1vp1ynk3ig.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.44s6v06fci85mxvr.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.46mfyyjr6vt4j117.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.472r749jwv5e4vp1.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.4awv9p5rav01gbs6.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.4d1ngswuir9qz1km.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.4q8teqlpyfg8gvlu.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.4vw7qwh9qcfbfsac.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.528uc66u6xaq7j82.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.54brs8968jr35msu.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.54wb7cpzwv47msid.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.586o6atuguxlqzzf.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.5dunq9ejhp8gx1sw.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.5gbkf7pibp1uwoj3.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.ctcxuojof8hyh3s.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.d5oe8z3psvm9ftx.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.eapzjti8tsmyfnb.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.fvkf1zg2c7so11p.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.glpptgqrvztm2s7.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.kslub0k8wdzjeyv.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.mpegszt0a492br4.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.n72bsqpy0hvyqrk.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.o27g4ythh802k05.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.o58bru3mfw29new.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.odn72t1ysaomijn.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.ogc22fmilv6j0y1.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.omikgr3kz7xow8b.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.q2910vz8qtckore.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.sivgkzd8dldjm0q.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.wo8y98h774piq3q.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.yp9c26tqy0roi8j.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.zl36jbfvoecy4dx.rcgu.o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.zo4q2zxhsbolixg.rcgu.o" "-o" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"_rust_eh_personality\"]" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/roguelikers.3b5pv8tl6oc2b3o7.rcgu.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps" "-L" "/Users/tanis/Documents/roguelikers/target/debug/deps" "-L" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/build/tcod-sys-2529c803a8e52881/out" "-L" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde_json-82ee1bfd55d9cda4.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libitoa-decd40755155f460.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libryu-73fd36904dbb303a.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/librand-b554058fd1bc2c1a.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/librand-32c8dd4df97ddaf5.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/liblibc-b2b31b261c362dc7.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libtcod-977b6926b2a27d45.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libtcod_sys-e7f67e0303f89c30.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde-fb31efce50068728.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/liblazy_static-1152b5c41d8fa707.rlib" "/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libbitflags-efc224253a6880ef.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-0c86013d1a999471.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-e04840eda0100e05.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-16bfb4d182748e63.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-185d9b81685a2f08.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-4806247fe4c34e64.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-879310dc3b96af61.rlib" "/Users/tanis/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-d0572f7a936161bf.rlib" "-l" "tcod" "-l" "c" "-s" "BINARYEN=1" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1" "-s" "BINARYEN_TRAP_MODE=\'clamp\'"
  = note: shared:WARNING: emcc: cannot find library "tcod"
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_P9gOrZ_archive_contents/serde_json-82ee1bfd55d9cda4.serde_json.bnfl8qbl-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp__5tfcq_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp__5tfcq_archive_contents/itoa-decd40755155f460.itoa.b1t6itqp-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_UvcvYQ_archive_contents/ryu-73fd36904dbb303a.ryu.d8kiox0o-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_i6Yot4_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_i6Yot4_archive_contents/rand-b554058fd1bc2c1a.rand.9ky2djyk-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_hkQA3m_archive_contents/rand-32c8dd4df97ddaf5.rand.2fl2211w-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_rMnaly_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_rMnaly_archive_contents/libc-b2b31b261c362dc7.libc.4ld19gyp-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_rMnaly_archive_contents/libc-b2b31b261c362dc7.libc.4ld19gyp-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_rMnaly_archive_contents/libc-b2b31b261c362dc7.libc.4ld19gyp-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_YdIFe6_archive_contents/tcod-977b6926b2a27d45.tcod.30tb3f6k-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_QIfrsJ_archive_contents/tcod_sys-e7f67e0303f89c30.tcod_sys.6or7fa1t-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.1.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.10.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.11.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.12.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.13.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.14.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.15.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.2.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.3.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.4.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.5.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.6.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.7.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.8.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_oUqA_4_archive_contents/serde-fb31efce50068728.serde.38q2fyi2-cgu.9.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_SRESfs_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_SRESfs_archive_contents/lazy_static-1152b5c41d8fa707.lazy_static.88dx5lmf-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JX83_P_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JX83_P_archive_contents/bitflags-efc224253a6880ef.bitflags.fr96q1eg-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_LSzRWn_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_LSzRWn_archive_contents/std-0c86013d1a999471.std.e4lj0dta-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_LSzRWn_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_LSzRWn_archive_contents/std-0c86013d1a999471.std.e4lj0dta-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_vBUV5z_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_vBUV5z_archive_contents/panic_unwind-e04840eda0100e05.panic_unwind.6z9qtaum-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_vBUV5z_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_vBUV5z_archive_contents/panic_unwind-e04840eda0100e05.panic_unwind.6z9qtaum-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JlDybi_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JlDybi_archive_contents/unwind-16bfb4d182748e63.unwind.1a6cph13-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JlDybi_archive_contents/rust.metadata.bin is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_JlDybi_archive_contents/unwind-16bfb4d182748e63.unwind.1a6cph13-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_mfgn0V_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_mfgn0V_archive_contents/libc-185d9b81685a2f08.libc.51sz9b69-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_yuh0HU_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_yuh0HU_archive_contents/alloc-4806247fe4c34e64.alloc.cj9z5ol1-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_yuh0HU_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_yuh0HU_archive_contents/alloc-4806247fe4c34e64.alloc.cj9z5ol1-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_V3hACL_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_V3hACL_archive_contents/core-879310dc3b96af61.core.axskj9tt-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_V3hACL_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_V3hACL_archive_contents/core-879310dc3b96af61.core.axskj9tt-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_Vw_H3y_archive_contents/rust.metadata.bin is not LLVM bitcode, cannot link
          shared:WARNING: object /var/folders/19/jchkphxs3095s37rl_p0t2dw0000gn/T/emscripten_temp_Vw_H3y_archive_contents/compiler_builtins-d0572f7a936161bf.compiler_builtins.2h648oya-cgu.0.rcgu.bc.z is not valid according to llvm-nm, cannot link
          Traceback (most recent call last):
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emcc.py", line 3075, in <module>
              sys.exit(run())
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emcc.py", line 1819, in run
              final = shared.Building.emscripten(final, target + '.mem', js_libraries)
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/tools/shared.py", line 2249, in emscripten
              emscripten.main(infile, outfile, memfile, js_libraries)
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emscripten.py", line 2269, in main
              return temp_files.run_and_clean(lambda: emscripter(
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/tools/tempfiles.py", line 100, in run_and_clean
              return func()
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emscripten.py", line 2270, in <lambda>
              infile, outfile_obj, memfile, libraries, shared.COMPILER_ENGINE, temp_files, shared.DEBUG)
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emscripten.py", line 92, in emscript
              backend_output = compile_js(infile, temp_files, DEBUG)
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/emscripten.py", line 121, in compile_js
              jsrun.timeout_run(subprocess.Popen(backend_args, stdout=subprocess.PIPE, universal_newlines=True), note_args=backend_args)
            File "/usr/local/Cellar/emscripten/1.38.23/libexec/tools/jsrun.py", line 24, in timeout_run
              raise Exception('Subprocess "' + ' '.join(note_args) + '" failed with exit code ' + str(proc.returncode) + '!')
          Exception: Subprocess "/usr/local/opt/emscripten/libexec/llvm/bin/llc /tmp/emscripten_temp_okevOj/roguelikers.bc -march=js -filetype=asm -o /tmp/tmpuKNvRa.4.js -emscripten-stack-size=5242880 -O0 -emscripten-precise-f32 -emscripten-assertions=1 -emscripten-no-aliasing-function-pointers -emscripten-global-base=1024 -enable-emscripten-cpp-exceptions -emscripten-no-exit-runtime -emscripten-wasm -emscripten-only-wasm" failed with exit code -11!

error: aborting due to previous error

error: Could not compile `roguelikers`.

Caused by:
  process didn't exit successfully: `rustc --crate-name roguelikers src/main.rs --color always --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=cf42fcfc82f58801 --out-dir /Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps --target wasm32-unknown-emscripten -C incremental=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/incremental -L dependency=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps -L dependency=/Users/tanis/Documents/roguelikers/target/debug/deps --extern rand=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/librand-b554058fd1bc2c1a.rlib --extern serde=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde-fb31efce50068728.rlib --extern serde_derive=/Users/tanis/Documents/roguelikers/target/debug/deps/libserde_derive-d795b5470a45c801.dylib --extern serde_json=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libserde_json-82ee1bfd55d9cda4.rlib --extern tcod=/Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/deps/libtcod-977b6926b2a27d45.rlib -L /Users/tanis/Documents/roguelikers/target/wasm32-unknown-emscripten/debug/build/tcod-sys-2529c803a8e52881/out` (exit code: 1)
tomassedovic commented 5 years ago

Hm, to be perfectly honest, I'd be pretty surprised if libtcod just built for webassembly without any changes. Though I guess it might work with emscripten. I'd start there, building libtcod directly before trying tcod-rs.

It is possible to override a build script:

https://doc.rust-lang.org/cargo/reference/build-scripts.html#overriding-build-scripts

I don't know how that would work (or if it even is possible) with the webassembly backends, though. Actually, I'm not sure how one would build a mix of C and Rust for wasm. I guess llvm can possibly create the object files for both and link that?

I'd definitely be interested in seeing this happen, but I don't have the requisite knowledge or time to do this. If you do get it working, I'd love to see it and would definitely be interested in merging it here!

tanis2000 commented 5 years ago

@tomassedovic I'm lacking time to explore this in the short run as well. I'll have a look at compiling libtcod with emscripten as soon as I can and keep you posted if I have news.

Cheers!

ThibaultLemaire commented 4 years ago

I'm having a similar error on Linux (so we can drop the "on macOS" part in the title).

I'm now trying to build tcod_sys directly with emscripten like so:

export PKG_CONFIG_ALLOW_CROSS=1
export CC=emcc
cargo build --target=wasm32-unknown-emscripten

And I'm hitting this error

error: failed to run custom build command for `tcod-sys v5.0.1 (/home/user/dev/tcod-rs/tcod_sys)`

Caused by:
  process didn't exit successfully: `/home/user/dev/tcod-rs/tcod_sys/target/debug/build/tcod-sys-1daeb4c68e71f1d4/build-script-build` (exit code: 1)
--- stdout
cargo:rustc-link-lib=static=tcod
running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "libtcod/include" "-I" "libtcod/src/zlib" "-Wall" "-Wextra" "-fno-strict-aliasing" "-ansi" "-w" "-DTCOD_SDL2" "-DNO_OPENGL" "-DNDEBUG" "-o" "/home/user/dev/tcod-rs/tcod_sys/target/wasm32-unknown-emscripten/debug/build/tcod-sys-49866314592eabf6/out/libtcod/src/bresenham_c.o" "-c" "libtcod/src/bresenham_c.c"
exit code: 0
running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "libtcod/include" "-I" "libtcod/src/zlib" "-Wall" "-Wextra" "-fno-strict-aliasing" "-ansi" "-w" "-DTCOD_SDL2" "-DNO_OPENGL" "-DNDEBUG" "-o" "/home/user/dev/tcod-rs/tcod_sys/target/wasm32-unknown-emscripten/debug/build/tcod-sys-49866314592eabf6/out/libtcod/src/bsp_c.o" "-c" "libtcod/src/bsp_c.c"
exit code: 0
running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "libtcod/include" "-I" "libtcod/src/zlib" "-Wall" "-Wextra" "-fno-strict-aliasing" "-ansi" "-w" "-DTCOD_SDL2" "-DNO_OPENGL" "-DNDEBUG" "-o" "/home/user/dev/tcod-rs/tcod_sys/target/wasm32-unknown-emscripten/debug/build/tcod-sys-49866314592eabf6/out/libtcod/src/color_c.o" "-c" "libtcod/src/color_c.c"
exit code: 0
running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "libtcod/include" "-I" "libtcod/src/zlib" "-Wall" "-Wextra" "-fno-strict-aliasing" "-ansi" "-w" "-DTCOD_SDL2" "-DNO_OPENGL" "-DNDEBUG" "-o" "/home/user/dev/tcod-rs/tcod_sys/target/wasm32-unknown-emscripten/debug/build/tcod-sys-49866314592eabf6/out/libtcod/src/console_c.o" "-c" "libtcod/src/console_c.c"
cargo:warning=libtcod/src/console_c.c:814:13: error: implicit declaration of function 'vsnwprintf' [-Werror,-Wimplicit-function-declaration]
cargo:warning=                int len = vsnwprintf(msg[curbuf],buflen[curbuf],fmt,ap);
cargo:warning=                          ^
cargo:warning=1 error generated.
cargo:warning=shared:ERROR: compiler frontend failed to generate LLVM bitcode, halting
exit code: 1

--- stderr

error occurred: Command "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-I" "libtcod/include" "-I" "libtcod/src/zlib" "-Wall" "-Wextra" "-fno-strict-aliasing" "-ansi" "-w" "-DTCOD_SDL2" "-DNO_OPENGL" "-DNDEBUG" "-o" "/home/user/dev/tcod-rs/tcod_sys/target/wasm32-unknown-emscripten/debug/build/tcod-sys-49866314592eabf6/out/libtcod/src/console_c.o" "-c" "libtcod/src/console_c.c" with args "emcc" did not execute successfully (status code exit code: 1).

I'm afraid what you suggested turns out to be true, @tomassedovic: libtcod itself might need some patching to support compiling on web assembly with emscripten.

FYI, here is my fork where I changed the build.rs a bit to try to compile with emscripten.

tanis2000 commented 4 years ago

@ThibaultLemaire I believe we should put our effort in libtcod if we want to get it up and running either with emscripten or wasm. Apparently it depends on a few functions that aren't in musl. It might be worth trying to get those out of the way to start with, if you've got some time to play around with that.

ThibaultLemaire commented 4 years ago

@tanis2000 Unfortunately, I'm really no expert in C++ and this is about as far as my interest in porting libtcod to webassembly can stretch. There's also the issue of the outdated version of libtcod that tcod-sys is using...

In the end I'd be more interested in translating libtcod to Rust.

tanis2000 commented 4 years ago

Actually a port of libtcod to rust would be really nice. I’ve been thinking about that but it would require quite a lot of work and I really do not have the time for it

tomassedovic commented 4 years ago

Hey @tanis2000 @ThibaultLemaire, before you jump into that, I'd just like to make sure you're aware of doryen-rs:

https://github.com/jice-nospam/doryen-rs

(made by Jice, the original libtcod author IIRC)

and RLTK_RS:

https://github.com/thebracket/rltk_rs

(made by TheBracket, author of Nox Futura).

I have not tried either of them much, personally, but they're both projects in a similar vein, written in pure Rust and they both support compiling to webassembly. Both projects are also actively maintained.

Sorry for not mentioning them earlier, they slipped my mind. But they might be an interesting alternative to look into. I'd actually like to add them to our README as alternatives.

ThibaultLemaire commented 4 years ago

@tomassedovic

before you jump into that

Yeah don't worry I wasn't in that much of a hurry to port libtcod to rust. I can imagine the amount of work that represents.

Jice, the original libtcod author IIRC

Yup, it looks like the guy holds most of the early commits of libtcod

I'd actually like to add them to our README as alternatives

Please do!

I'd just like to make sure you're aware of doryen-rs

Well I'm happy you spared me the trouble of having to search for myself!

I think I'll try to port my roguelike tutorial result to doryen-rs, that'll be fun!

ThibaultLemaire commented 4 years ago

Porting complete!

Here, try the result live!

L3nn0x commented 4 years ago

I've been playing around with rltk and it's a pretty good library as well, I recommend it