Skip to content

Enable wasm32-unknown-emscripten target on CI #1697

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 13, 2020

Conversation

JohnTitor
Copy link
Member

@JohnTitor JohnTitor commented Mar 15, 2020

Re-enable the wasm32-unknown-emscripten target on CI.
Fixes #1591

@JohnTitor
Copy link
Member Author

running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-Wall" "-Wextra" "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter" "-Wno-type-limits" "-Wno-address-of-packed-member" "-Wno-unknown-warning-option" "-Wno-deprecated-declarations" "-D_GNU_SOURCE" "-o" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.o" "-c" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c"
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8911:68: error: invalid application of 'sizeof' to an incomplete type 'struct sock_extended_err'
cargo:warning=             uint64_t __test_size_sock_extended_err(void) { return sizeof(struct sock_extended_err); }
cargo:warning=                                                                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~
cargo:warning=                    return sizeof(foo->ee_code);
cargo:warning=                                  ~~~^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8970:28: note: forward declaration of 'struct sock_extended_err'
cargo:warning=                    struct sock_extended_err* foo = NULL;
cargo:warning=                           ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8975:78: error: declaration of 'struct sock_extended_err' will not be visible outside of this function [-Werror,-Wvisibility]
cargo:warning=                 uint8_t* __test_field_type_sock_extended_err_ee_code(struct sock_extended_err* b) {
cargo:warning=                                                                             ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8976:30: error: incomplete definition of type 'struct sock_extended_err'
cargo:warning=                    return &b->ee_code;
cargo:warning=                            ~^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8975:78: note: forward declaration of 'struct sock_extended_err'
cargo:warning=                 uint8_t* __test_field_type_sock_extended_err_ee_code(struct sock_extended_err* b) {
cargo:warning=                                                                             ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8981:28: error: offsetof of incomplete type 'struct sock_extended_err'
cargo:warning=                    return offsetof(struct sock_extended_err, ee_pad);
cargo:warning=                           ^        ~~~~~~
cargo:warning=/emsdk-portable/fastcomp/emscripten/system/include/libc/stddef.h:20:32: note: expanded from macro 'offsetof'
cargo:warning=#define offsetof(type, member) __builtin_offsetof(type, member)
cargo:warning=                               ^                  ~~~~
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-3a81ef78c2288adc/out/main.c:8981:44: note: forward declaration of 'struct sock_extended_err'
cargo:warning=                    return offsetof(struct sock_extended_err, ee_pad);
cargo:warning=                                           ^
cargo:warning=fatal error: too many errors emitted, stopping now [-ferror-limit=]

@JohnTitor
Copy link
Member Author

It seems emscripten doesn't have errqueue.h so removed sock_extended_err from emscripten: https://github.com/emscripten-core/emscripten/tree/master/system/include/libc

@JohnTitor JohnTitor closed this Apr 3, 2020
@JohnTitor JohnTitor reopened this Apr 3, 2020
@JohnTitor
Copy link
Member Author

running: "emcc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-Wall" "-Wextra" "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter" "-Wno-type-limits" "-Wno-address-of-packed-member" "-Wno-unknown-warning-option" "-Wno-deprecated-declarations" "-D_GNU_SOURCE" "-o" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.o" "-c" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c"
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:11509:63: error: use of undeclared identifier 'IPV6_FLOWINFO'
cargo:warning=            static const int __test_const_IPV6_FLOWINFO_val = IPV6_FLOWINFO;
cargo:warning=                                                              ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13423:71: error: use of undeclared identifier 'SO_EE_ORIGIN_NONE'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_NONE_val = SO_EE_ORIGIN_NONE;
cargo:warning=                                                                      ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13429:72: error: use of undeclared identifier 'SO_EE_ORIGIN_LOCAL'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_LOCAL_val = SO_EE_ORIGIN_LOCAL;
cargo:warning=                                                                       ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13435:71: error: use of undeclared identifier 'SO_EE_ORIGIN_ICMP'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_ICMP_val = SO_EE_ORIGIN_ICMP;
cargo:warning=                                                                      ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13441:72: error: use of undeclared identifier 'SO_EE_ORIGIN_ICMP6'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_ICMP6_val = SO_EE_ORIGIN_ICMP6;
cargo:warning=                                                                       ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13447:75: error: use of undeclared identifier 'SO_EE_ORIGIN_TXSTATUS'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_TXSTATUS_val = SO_EE_ORIGIN_TXSTATUS;
cargo:warning=                                                                          ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:13453:79: error: use of undeclared identifier 'SO_EE_ORIGIN_TIMESTAMPING'
cargo:warning=            static const uint8_t __test_const_SO_EE_ORIGIN_TIMESTAMPING_val = SO_EE_ORIGIN_TIMESTAMPING;
cargo:warning=                                                                              ^
cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c:24465:70: error: use of undeclared identifier 'TCP_FASTOPEN_CONNECT'
cargo:warning=            static const int __test_const_TCP_FASTOPEN_CONNECT_val = TCP_FASTOPEN_CONNECT;
cargo:warning=                                                                     ^
cargo:warning=8 errors generated.
cargo:warning=shared:ERROR: '/emsdk-portable/fastcomp/fastcomp/bin/clang -target asmjs-unknown-emscripten -D__EMSCRIPTEN_major__=1 -D__EMSCRIPTEN_minor__=38 -D__EMSCRIPTEN_tiny__=42 -D_LIBCPP_ABI_VERSION=2 -Werror=implicit-function-declaration -Xclang -nostdsysteminc -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/include/libcxx -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/lib/libcxxabi/include -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/include/compat -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/include -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/include/libc -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/lib/libc/musl/arch/emscripten -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/local/include -DEMSCRIPTEN -O0 -ffunction-sections -fdata-sections -fPIC -fno-omit-frame-pointer -Wall -Wextra -Wall -Wextra -Werror -Wno-unused-parameter -Wno-type-limits -Wno-address-of-packed-member -Wno-unknown-warning-option -Wno-deprecated-declarations -D_GNU_SOURCE -c -g /checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.c -Xclang -disable-O0-optnone -Xclang -isystem/emsdk-portable/fastcomp/emscripten/system/include/SDL -c -o /checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-b8a1ab2ffaf83228/out/main.o -emit-llvm' failed (1)
exit code: 1

@JohnTitor
Copy link
Member Author

It seems emscripten doesn't have IPV6_FLOWINFO: https://github.com/emscripten-core/emscripten/blob/2bca083cbbd5a4133db61fbd74d04f7feecfa907/system/include/libc/netinet/in.h#L312-L337
TCP_FASTOPEN_CONNECT is also missing.
The remaining constraints are in errqueue.h.

So, I think all items can be removed from emscripten.

@JohnTitor JohnTitor force-pushed the emscripten branch 2 times, most recently from 50a6ee0 to 48d7e40 Compare April 7, 2020 18:41
@JohnTitor
Copy link
Member Author

cargo:warning=/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-383acfdaa2f3a3a6/out/main.c:26517:62: error: use of undeclared identifier 'SYS_gettid'
cargo:warning=            static const  long __test_const_SYS_gettid_val = SYS_gettid;
cargo:warning=                                                             ^
cargo:warning=1 error generated.

@JohnTitor
Copy link
Member Author

JohnTitor commented Apr 8, 2020

warning: cache:INFO: generating system asset: is_vanilla.txt... (this will be cached in "/emsdk-portable/.emscripten_cache/is_vanilla.txt" for subsequent builds)
warning: cache:INFO:  - ok
warning: shared:INFO: (Emscripten: Running sanity checks)
warning: shared:WARNING: java does not seem to exist, required for closure compiler, which is optional (define JAVA in /emsdk-portable/.emscripten if you want it)
warning: shared:WARNING: closure compiler will not be available
warning: src/cmsg.c:14:9: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
warning:         return CMSG_NXTHDR(msgh, cmsg);
warning:                ^~~~~~~~~~~~~~~~~~~~~~~
warning: /emsdk-portable/fastcomp/emscripten/system/include/libc/sys/socket.h:286:44: note: expanded from macro 'CMSG_NXTHDR'
warning:         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
warning:         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 1 warning generated.
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.1nrcfkwoacjzyvqo.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.36m9dbr1d7lit5re.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.3cq77t6caz2rdj7z.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.3pkkwke7az8zryfs.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.x5029hasqf6p23f.rcgu.o" "-o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"_rust_eh_personality\"]" "/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.52ybfi0xsiyd5ual.rcgu.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/deps" "-L" "/checkout/target/debug/deps" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-43f9ed1486561d4d/out" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-43f9ed1486561d4d/out" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "-l" "cmsg" "-l" "main" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libtest-27acc337df0e8920.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libterm-e10d9cfbe34d2629.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libgetopts-ae9b34510c254314.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libunicode_width-201da1926c069cf5.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_std-2842f0df89b13f55.rlib" "/checkout/target/wasm32-unknown-emscripten/debug/deps/liblibc-d8ecc72c317ed63b.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-6b6a4a2e7d52fb15.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-9f5b896ee1f36644.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libhashbrown-3451ed357c105c3f.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_alloc-0d7d48283b2a932a.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libbacktrace-e2bb4e2190a82ecb.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_demangle-52fdd75d17f53968.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-71e9bc2487d77ed2.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcfg_if-c838612f80823b39.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-1a7bb19311fc38dc.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-1483b6d4476c8a45.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_core-bf15c074435bed4b.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-9ed1c7ccadcc07b2.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-547ec59ba2389329.rlib" "-l" "c" "-l" "c" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1" "-s" "ASSERTIONS=1" "-s" "ABORTING_MALLOC=0" "-Wl,--fatal-warnings"
  = note: shared:ERROR: fastcomp is not compatible with wasm object files:/checkout/target/wasm32-unknown-emscripten/debug/deps/errqueue-0850933d87f53ced.1nrcfkwoacjzyvqo.rcgu.o
          
error: aborting due to previous error

The following warnings were emitted during compilation:

warning: cache:INFO: generating system asset: is_vanilla.txt... (this will be cached in "/emsdk-portable/.emscripten_cache/is_vanilla.txt" for subsequent builds)
warning: cache:INFO:  - ok
warning: shared:INFO: (Emscripten: Running sanity checks)
warning: shared:WARNING: java does not seem to exist, required for closure compiler, which is optional (define JAVA in /emsdk-portable/.emscripten if you want it)
warning: shared:WARNING: closure compiler will not be available
warning: src/cmsg.c:14:9: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
warning:         return CMSG_NXTHDR(msgh, cmsg);
warning:                ^~~~~~~~~~~~~~~~~~~~~~~
warning: /emsdk-portable/fastcomp/emscripten/system/include/libc/sys/socket.h:286:44: note: expanded from macro 'CMSG_NXTHDR'
warning:         return CMSG_NXTHDR(msgh, cmsg);
warning:                ^~~~~~~~~~~~~~~~~~~~~~~
warning: /emsdk-portable/fastcomp/emscripten/system/include/libc/sys/socket.h:286:44: note: expanded from macro 'CMSG_NXTHDR'
warning:         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
warning:         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 1 warning generated.

error: could not compile `libc-test`.

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.4lmmik979x4udfc4.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.5baj2oun9zl4znld.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.5wljwqmrp1oxp0t.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.hbnk4vskbl591p0.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.nos6f351szn1nyg.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.xyygajw8300zxb2.rcgu.o" "-o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"_rust_eh_personality\"]" "/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.6w5o71v630qic92.rcgu.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/deps" "-L" "/checkout/target/debug/deps" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-43f9ed1486561d4d/out" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-43f9ed1486561d4d/out" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "-l" "cmsg" "-l" "main" "/checkout/target/wasm32-unknown-emscripten/debug/deps/liblibc-d8ecc72c317ed63b.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-6b6a4a2e7d52fb15.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-9f5b896ee1f36644.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libhashbrown-3451ed357c105c3f.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_alloc-0d7d48283b2a932a.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libbacktrace-e2bb4e2190a82ecb.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_demangle-52fdd75d17f53968.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-71e9bc2487d77ed2.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcfg_if-c838612f80823b39.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-1a7bb19311fc38dc.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-1483b6d4476c8a45.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_core-bf15c074435bed4b.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-9ed1c7ccadcc07b2.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-547ec59ba2389329.rlib" "-l" "c" "-l" "c" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1" "-s" "ASSERTIONS=1" "-s" "ABORTING_MALLOC=0" "-Wl,--fatal-warnings"
  = note: shared:ERROR: fastcomp is not compatible with wasm object files:/checkout/target/wasm32-unknown-emscripten/debug/deps/linux_elf-391270edcd81e2a6.4lmmik979x4udfc4.rcgu.o
          

error: aborting due to previous error

The following warnings were emitted during compilation:

warning: cache:INFO: generating system asset: is_vanilla.txt... (this will be cached in "/emsdk-portable/.emscripten_cache/is_vanilla.txt" for subsequent builds)
warning: cache:INFO:  - ok
warning: shared:INFO: (Emscripten: Running sanity checks)
warning: shared:WARNING: java does not seem to exist, required for closure compiler, which is optional (define JAVA in /emsdk-portable/.emscripten if you want it)
warning: shared:WARNING: closure compiler will not be available
warning: src/cmsg.c:14:9: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
warning:         return CMSG_NXTHDR(msgh, cmsg);
warning:                ^~~~~~~~~~~~~~~~~~~~~~~
warning: /emsdk-portable/fastcomp/emscripten/system/include/libc/sys/socket.h:286:44: note: expanded from macro 'CMSG_NXTHDR'
warning:         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
warning:         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 1 warning generated.

@JohnTitor JohnTitor force-pushed the emscripten branch 7 times, most recently from b2582e8 to 6d03a43 Compare April 11, 2020 23:16
@JohnTitor
Copy link
Member Author

Seems SYS_gettid was removed in this commit: emscripten-core/emscripten@6d6474e

@JohnTitor
Copy link
Member Author

log:

warning: src/cmsg.c:14:9: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare]
warning:         return CMSG_NXTHDR(msgh, cmsg);
warning:                ^~~~~~~~~~~~~~~~~~~~~~~
warning: /emsdk-portable/upstream/emscripten/system/include/libc/sys/socket.h:286:44: note: expanded from macro 'CMSG_NXTHDR'
warning:         __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \
warning:         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
warning: 1 warning generated.
error: linking with `emcc` failed: exit code: 1
  |
  = note: "emcc" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1jtwruexxbl0vjkd.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1kdmh36yqu6nq55b.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1mkc25xg5o8hsrer.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1p2ft6j2j1rr4ovr.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1q3i9kv2u0cu1g20.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1sk2altw8ojhn64w.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.1ytqhmhhp8fs4aab.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.25box5phf6auzwm0.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.2kvwqrr4wpqswh07.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.2kzooa2qnqrghwlv.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.2skm166apt8qqjfi.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.2tkhie4wubns535i.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.31rk7kh4e339aalh.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.34ry0o251niv9cl6.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.34z85gjzjymdasus.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.36dq49wvremdy4a0.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.38oj5kwhegdg5wgk.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.39bnjkre8araft0p.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3cdts8k7m9g3562g.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3cem82r4s4fnpl6d.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3d3u65hr3iz5t9h0.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3f56p5eo539mffhs.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3fffsuxmp00eexgq.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3kg3yhcophlj80gy.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3ocfqefp9bp6z5k0.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3os75ti1fzeqtgxu.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3s3rpo6ryoievqnm.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3uuv9bru9kuy1iq1.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3uxv8w8ovspxoi7l.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.3vhqg993yv5hco5b.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.41ymhcy5jsh38slk.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.46m4c3sik79swllk.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.48h2xvfdfo7chji8.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4de7cl5zwawvvdb3.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4grtltg0rlyk7szu.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4jvr42asve6ygxmo.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4nyl9t5zij66ywcn.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4puhs74llhhk8t17.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4q70r848j30a7gm3.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4rl7d0mnhadb4dku.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4rqpw83lnb72nauf.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.4t4aw8fojk0s4eau.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.50y9kwz35wzi0de4.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.58c8cxjrm46ztyf9.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.5bnz6k61aw51zil3.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.5e00umth7wzl3vc6.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.6eif22f0o5r0hx5.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.cosy2z81yze3fx8.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.l7hdswk2l0llnqf.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.r10k9uvrditvavu.rcgu.o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.sev27rtlcxe1b6b.rcgu.o" "-o" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"_rust_eh_personality\"]" "/checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.152kgv8n1ilrg72f.rcgu.o" "-O0" "--memory-init-file" "0" "-g4" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/deps" "-L" "/checkout/target/debug/deps" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-0251c375c9453c55/out" "-L" "/checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-0251c375c9453c55/out" "-L" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib" "-l" "cmsg" "-l" "main" "/checkout/target/wasm32-unknown-emscripten/debug/deps/liblibc-2e145b7b36767d10.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libstd-9692275307d5a742.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libpanic_unwind-98f6022ddb51bf0a.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libhashbrown-3e3540a757d02624.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_alloc-f23b8a8f03c66ea4.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libbacktrace-d2f289f21842111b.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_demangle-295119f26dcbd707.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libunwind-983524b86eef36f8.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcfg_if-d109b59ea7c3aa55.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liblibc-ad821b57398a5be7.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/liballoc-f551f88798a8580c.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/librustc_std_workspace_core-652faba9f81b119f.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcore-1a099bbb8a529b12.rlib" "/rust/lib/rustlib/wasm32-unknown-emscripten/lib/libcompiler_builtins-e1ba016679d6bce1.rlib" "-l" "c" "-l" "c" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1" "-s" "ASSERTIONS=1" "-s" "ABORTING_MALLOC=0" "-Wl,--fatal-warnings"
  = note: wasm-ld: error: function signature mismatch: __test_roundtrip_pthread_condattr_t
          >>> defined as (i32, i32, i32, i32, i32) -> void in /checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.5bnz6k61aw51zil3.rcgu.o
          >>> defined as (i32, i32, i32, i32) -> i32 in /checkout/target/wasm32-unknown-emscripten/debug/build/libc-test-0251c375c9453c55/out/libmain.a(main.o)
          
          wasm-ld: error: function signature mismatch: __test_roundtrip_pthread_mutexattr_t
          >>> defined as (i32, i32, i32, i32, i32) -> void in /checkout/target/wasm32-unknown-emscripten/debug/deps/main-7db2382cd4043e88.5bnz6k61aw51zil3.rcgu.o
          emcc: error: '/emsdk-portable/upstream/bin/wasm-ld @/tmp/emscripten_xBzgI3.rsp' failed (1)
          

error: aborting due to previous error

@JohnTitor
Copy link
Member Author

JohnTitor commented Apr 12, 2020

Seems the definition of pthread_mutexattr_t was removed in this commit: emscripten-core/emscripten@953e414
But I couldn't find any related change to pthread_condattr_t. So I'd skip it for now and add FIXME to unblock the progress.

@JohnTitor JohnTitor force-pushed the emscripten branch 3 times, most recently from 5208fd7 to 8a328ba Compare April 12, 2020 21:37
@JohnTitor
Copy link
Member Author

The errnos were changed in emscripten-core/emscripten@09e9050.
Also somehow max_align_t was changed, I suspect the cause is emscripten-core/emscripten#10145

@JohnTitor JohnTitor changed the title Enable wasm32-unknown-emscripten target Enable wasm32-unknown-emscripten target on CI Apr 12, 2020
@JohnTitor
Copy link
Member Author

Finally, CI is green!
r? @alexcrichton could you review if the things are correct?

@bors
Copy link
Contributor

bors commented Apr 13, 2020

☔ The latest upstream changes (presumably #1719) made this pull request unmergeable. Please resolve the merge conflicts.

@alexcrichton
Copy link
Member

I don't know a ton about this target myself, but it seems reasonable enough to me.

@JohnTitor
Copy link
Member Author

Thanks, I think you're familiar with that than me :) Then I'm going to merge this, hopefully, there's no breakage.

@JohnTitor JohnTitor merged commit 9604f46 into rust-lang:master Apr 13, 2020
@JohnTitor JohnTitor deleted the emscripten branch April 13, 2020 22:38
bors added a commit that referenced this pull request Feb 10, 2021
Re-enable CI for `asmjs-unknown-emscripten`

#1591 was closed by #1697 but it was only for `wasm32-unknown-emscripten` actually. We should make a new issue and link to it instead if it's still broken.
r? `@ghost`
bors added a commit that referenced this pull request Feb 10, 2021
Re-enable CI for `asmjs-unknown-emscripten`

#1591 was closed by #1697 but it was only for `wasm32-unknown-emscripten` actually. We should make a new issue and link to it instead if it's still broken.
r? `@ghost`
bors added a commit that referenced this pull request Feb 10, 2021
Re-enable CI for `asmjs-unknown-emscripten`

#1591 was closed by #1697 but it was only for `wasm32-unknown-emscripten` actually. We should make a new issue and link to it instead if it's still broken.
r? `@ghost`
bors added a commit that referenced this pull request Feb 10, 2021
Re-enable CI for `asmjs-unknown-emscripten`

#1591 was closed by #1697 but it was only for `wasm32-unknown-emscripten` actually. We should make a new issue and link to it instead if it's still broken.
r? `@ghost`
bors added a commit that referenced this pull request Feb 10, 2021
Re-enable CI for `asmjs-unknown-emscripten`

#1591 was closed by #1697 but it was only for `wasm32-unknown-emscripten` actually. We should make a new issue and link to it instead if it's still broken.
r? `@ghost`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Emscripten targets broken on CI
3 participants