-
Notifications
You must be signed in to change notification settings - Fork 13.7k
Closed
Labels
P-mediumMedium priorityMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.
Milestone
Description
It looks like the recent change in how Command executes batch files(see rust-lang/cc-rs#239 for details) has also caused the emscripten target to regress and fail to compile on win32.
I'm also seeing the libc::c_char type change from *const i8 to *const u8 which is causing problems with a bunch of C bindings I have.
Below example works fine when I switch back to 1.19.0.
I tried this code:
https://github.com/vvanders/rust_command_repro
I expected to see this happen: Successful compile
Instead, this happened:
C:\dev\command_repro>cargo build --release --target=asmjs-unknown-emscripten
Compiling command_repro v0.1.0 (file:///C:/dev/command_repro)
error: linking with `emcc.bat` failed: exit code: 2
|
= note: "emcc.bat" "-s" "DISABLE_EXCEPTION_CATCHING=0" "-L" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib" "C:\\dev\\command_repro\\target\\asmjs-unknown-emscripten\\release\\deps\\command_repro-0b0fbd0388217b85.0.o" "-o" "C:\\dev\\command_repro\\target\\asmjs-unknown-emscripten\\release\\deps\\command_repro-0b0fbd0388217b85.js" "-s" "EXPORTED_FUNCTIONS=[\"_main\",\"___rdl_shrink_in_place\",\"___rdl_alloc_excess\",\"___rdl_usable_size\",\"___rdl_alloc\",\"___rdl_realloc_excess\",\"___rdl_realloc\",\"___rdl_oom\",\"___rdl_grow_in_place\",\"___rdl_alloc_zeroed\",\"___rdl_dealloc\",\"_rust_eh_personality\"]" "C:\\dev\\command_repro\\target\\asmjs-unknown-emscripten\\release\\deps\\command_repro-0b0fbd0388217b85.crate.allocator.o" "-O3" "--memory-init-file" "0" "-g0" "-s" "DEFAULT_LIBRARY_FUNCS_TO_INCLUDE=[]" "-L" "C:\\dev\\command_repro\\target\\asmjs-unknown-emscripten\\release\\deps" "-L" "C:\\dev\\command_repro\\target\\release\\deps" "-L" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libstd-881b9fdbdf1d515b.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\liballoc_system-3c10208cdd7e61cb.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\librand-32f648f7f7567c6c.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libpanic_unwind-9cbadc6554202be9.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\liballoc-bc70b4efeaeb398c.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libstd_unicode-a0ad42dc8f5856aa.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libunwind-618c266cf9124966.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\liblibc-16f3b02b9a976b94.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libcore-21491ce3d14f1ef2.rlib" "C:\\Users\\valer\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\\lib\\rustlib\\asmjs-unknown-emscripten\\lib\\libcompiler_builtins-b9713bd7f605c0b2.rlib" "-l" "c" "-s" "ERROR_ON_UNDEFINED_SYMBOLS=1"
= note: python: can't open file 'C:\dev\command_repro\\emcc': [Errno 2] No such file or directory
Meta
rustc --version --verbose
:
C:\dev\command_repro>rustc --version --verbose
rustc 1.20.0 (f3d6973 2017-08-27)
binary: rustc
commit-hash: f3d6973
commit-date: 2017-08-27
host: x86_64-pc-windows-msvc
release: 1.20.0
LLVM version: 4.0
Metadata
Metadata
Assignees
Labels
P-mediumMedium priorityMedium priorityT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.Performance or correctness regression from one stable version to another.