Hi, iirc you need to compile all objects with pthread enabled if you want to be able to link them together.
Will let you know if I find the confirmation... On Wed, Jul 24, 2019, 23:04 Dylan Staley <[email protected]> wrote: > Hello! I recently heard about the new WebAssembly backend, and wanted to > give it a try to compare against the fastcomp backend. I've successfully > compiled this project using `latest`, but when I switch to > `latest-upstream` I get the following issue during linking: > > ``` > wasm-ld: error: 'atomics' feature is used by d1_lib.o, so --shared-memory > must be used > wasm-ld: error: Target feature 'atomics' used in d1_lib.o is disallowed by > ConcurrentScheduler.cpp.o. Use --no-check-features to suppress. > ``` > > The actual command that failed was: > ``` > shared:ERROR: '/home/staley_dylan/emsdk/upstream/bin/wasm-ld -o > /tmp/emscripten_temp_DthpaW/td_wasm.wasm --allow-undefined --import-memory > --import-table --lto-O0 > CMakeFiles/td_wasm.dir/td/telegram/td_emscripten.cpp.o libtdjson_static.a > tdactor/libtdactor.a libtdjson_private.a libtdclient.a libtdcore.a > tdnet/libtdnet.a ../crypto/lib/libssl.a tddb/libtddb.a tdactor/libtdactor.a > tdutils/libtdutils.a sqlite/libtdsqlite.a ../crypto/lib/libcrypto.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libz.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libcompiler_rt.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc-wasm.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc++-noexcept.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc++abi.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc-extras.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libdlmalloc.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libpthreads_stub.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libcompiler_rt_wasm.a > /home/staley_dylan/.emscripten_cache/wasm-obj/libc_rt_wasm.a -mllvm > -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm > -disable-lsr --export __wasm_call_ctors --export __data_end --export main > --export malloc --export free --export setThrew --export __errno_location > --export htonl --export htons --export ntohs --export > emscripten_builtin_memalign --export memalign --export _get_environ > --export strlen --export _get_tzname --export _get_daylight --export > _get_timezone --export emscripten_builtin_free -z stack-size=5242880 > --initial-memory=16777216 --no-entry --global-base=1024' failed (1) > ``` > > I assume this is something to do with shared memory support in WASM, but I > haven't changed the configuration between a successful compile on `latest` > and this failing one on `latest-upstream`. Does anyone have any idea? For > reference, I'm trying to compile TdLib (https://github.com/tdlib/td). > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/emscripten-discuss/aa04d445-70b5-4227-92b8-838df0070440%40googlegroups.com > <https://groups.google.com/d/msgid/emscripten-discuss/aa04d445-70b5-4227-92b8-838df0070440%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/emscripten-discuss/CANLCaykmBwfSUNo147JH5-AmC%2BJXK7amQbdPzzOT79kEWKmjwQ%40mail.gmail.com.
