Skip to content

Unable to compile rustc_binaryen on Windows 10 with x86_64-pc-windows-msvc toolchain #46214

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

Closed
zilbuz opened this issue Nov 23, 2017 · 11 comments
Labels
A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-bug Category: This is a bug. O-wasm Target: WASM (WebAssembly), http://webassembly.org/ O-windows-msvc Toolchain: MSVC, Operating system: Windows T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@zilbuz
Copy link
Contributor

zilbuz commented Nov 23, 2017

The compilation of rust fails in rustc_binaryen when compiling on Windows 10 with x86_64-pc-windows-msvc toolchain (Visual Studio 2017). I tried compiling from a fresh git clone but got the same error.

I was able to compile rust using a MinGW64 toolchain.

Compilation log with RUST_BACKTRACE=1:

Building stage0 compiler artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
   Compiling fmt_macros v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libfmt_macros)
   Compiling rustc-demangle v0.1.5
   Compiling cc v1.0.3
   Compiling bitflags v1.0.0
   Compiling serialize v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libserialize)
   Compiling cfg-if v0.1.2
   Compiling log v0.3.8
   Compiling graphviz v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libgraphviz)
   Compiling ar v0.3.1
   Compiling rustc-serialize v0.3.24
   Compiling rustc_driver v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_driver)
   Compiling rustc_trans v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_trans)
   Compiling stable_deref_trait v1.0.0
   Compiling libc v0.2.33
   Compiling arena v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libarena)
   Compiling rustc_back v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_back)
   Compiling rustc_incremental v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_incremental)
   Compiling unicode-width v0.1.4
   Compiling rustc_platform_intrinsics v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_platform_intrinsics)
   Compiling rustc v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc)
   Compiling syntax v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libsyntax)
   Compiling rustc_metadata v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_metadata)
   Compiling rustc_cratesio_shim v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_cratesio_shim)
   Compiling filetime v0.1.14
   Compiling env_logger v0.4.3
   Compiling rustc_data_structures v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_data_structures)
   Compiling owning_ref v0.3.3
   Compiling num_cpus v1.7.0
   Compiling rand v0.3.18
   Compiling cmake v0.1.26
   Compiling miniz-sys v0.1.10
   Compiling build_helper v0.1.0 (file:///C:/Users/zilbuz/projets/rust/src/build_helper)
   Compiling rustc_apfloat v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_apfloat)
   Compiling syntax_pos v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libsyntax_pos)
   Compiling rls-span v0.4.0
   Compiling rustc_llvm v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_llvm)
   Compiling jobserver v0.1.8
   Compiling rustc_binaryen v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_binaryen)
   Compiling rls-data v0.13.0
   Compiling flate2 v0.2.20
   Compiling rustc_errors v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_errors)
   Compiling proc_macro v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libproc_macro)
   Compiling rustc_const_math v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_const_math)
   Compiling syntax_ext v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/libsyntax_ext)
error: failed to run custom build command for `rustc_binaryen v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_binaryen)`
process didn't exit successfully: `C:\Users\zilbuz\projets\rust\build\x86_64-pc-windows-msvc\stage0-rustc\release\build\rustc_binaryen-5b38d8ef9a1be3fe\build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at '
command did not execute successfully, got: exit code: 1

build script failed, must exit now', C:\Users\zilbuz\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\cmake-0.1.26\src\lib.rs:599:4
stack backtrace:
   0: std::sys_common::backtrace::_print
             at C:\projects\rust\src\libstd\sys_common\backtrace.rs:91
   1: std::panicking::default_hook::{{closure}}
             at C:\projects\rust\src\libstd\panicking.rs:383
   2: std::panicking::default_hook
             at C:\projects\rust\src\libstd\panicking.rs:397
   3: std::panicking::rust_panic_with_hook
             at C:\projects\rust\src\libstd\panicking.rs:577
   4: std::panicking::begin_panic<alloc::string::String>
             at C:\projects\rust\src\libstd\panicking.rs:538
   5: std::panicking::begin_panic_fmt
             at C:\projects\rust\src\libstd\panicking.rs:522
   6: cmake::Config::build
   7: cmake::Config::build
   8: cmake::Config::build
   9: POW10
  10: panic_unwind::__rust_maybe_catch_panic
             at C:\projects\rust\src\libpanic_unwind\lib.rs:101
  11: std::rt::lang_start
             at C:\projects\rust\src\libstd\rt.rs:51
  12: __scrt_common_main_seh
             at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
  13: BaseThreadInitThunk

warning: build failed, waiting for other jobs to finish...
error: build failed
thread 'main' panicked at 'command did not execute successfully: "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-msvc" "-j" "4" "--release" "--features" " llvm" "--manifest-path" "C:\\Users\\zilbuz\\projets\\rust\\src/rustc/Cargo.toml" "--message-format" "json"
expected success, got: exit code: 101', src\bootstrap\compile.rs:882:8
stack backtrace:
   0: std::sys_common::backtrace::_print
             at C:\projects\rust\src\libstd\sys_common\backtrace.rs:91
   1: std::panicking::default_hook::{{closure}}
             at C:\projects\rust\src\libstd\panicking.rs:383
   2: std::panicking::default_hook
             at C:\projects\rust\src\libstd\panicking.rs:397
   3: std::panicking::rust_panic_with_hook
             at C:\projects\rust\src\libstd\panicking.rs:577
   4: std::panicking::begin_panic<alloc::string::String>
             at C:\projects\rust\src\libstd\panicking.rs:538
   5: std::panicking::begin_panic_fmt
             at C:\projects\rust\src\libstd\panicking.rs:522
   6: <bootstrap::compile::Assemble as bootstrap::builder::Step>::run::{{closure}}
   7: <bootstrap::compile::Rustc as bootstrap::builder::Step>::run
   8: bootstrap::builder::Builder::ensure
   9: <bootstrap::compile::Assemble as bootstrap::builder::Step>::run
  10: bootstrap::builder::Builder::ensure
  11: bootstrap::builder::Builder::compiler
  12: <bootstrap::compile::Assemble as bootstrap::builder::Step>::run
  13: bootstrap::builder::Builder::ensure
  14: bootstrap::builder::Builder::compiler
  15: <bootstrap::compile::Std as bootstrap::builder::Step>::make_run
  16: <bootstrap::builder::Builder<'a> as core::ops::deref::Deref>::deref
  17: <bootstrap::builder::Builder<'a> as core::ops::deref::Deref>::deref
  18: bootstrap::builder::Builder::run
  19: bootstrap::Build::build
  20: core::ptr::<impl *mut T>::is_null
  21: panic_unwind::__rust_maybe_catch_panic
             at C:\projects\rust\src\libpanic_unwind\lib.rs:101
  22: std::rt::lang_start
             at C:\projects\rust\src\libstd\rt.rs:51
  23: main
  24: __scrt_common_main_seh
             at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
  25: BaseThreadInitThunk
failed to run: C:\Users\zilbuz\projets\rust\build\bootstrap\debug\bootstrap build
Build completed unsuccessfully in 0:07:43

I don't know what other details I could give so if you need some additionnal informations just ask :)
@kennytm kennytm added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) C-bug Category: This is a bug. O-windows-msvc Toolchain: MSVC, Operating system: Windows T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. O-wasm Target: WASM (WebAssembly), http://webassembly.org/ labels Nov 23, 2017
@kennytm
Copy link
Member

kennytm commented Nov 23, 2017

Hi could you run again with ./x.py build -v --stage 0 src/librustc to get a more verbose log?

@zilbuz
Copy link
Contributor Author

zilbuz commented Nov 23, 2017

Sure:

Updating submodules
running: git submodule -q sync
running: git submodule update --init --recursive src/llvm src/rt/hoedown src/jemalloc src/tools/rust-installer src/liblibc src/doc/nomicon src/tools/cargo src/doc/reference src/doc/book src/tools/rls src/libcompiler_builtins src/tools/clippy src/tools/rustfmt src/tools/miri src/dlmalloc src/binaryen
running: git submodule -q foreach git reset -q --hard
running: git submodule -q foreach git clean -qdfx
running: C:\Users\zilbuz\projets\rust\build\x86_64-pc-windows-msvc\stage0\bin\cargo.exe build --manifest-path C:\Users\zilbuz\projets\rust\src/bootstrap/Cargo.toml --verbose
       Fresh serde v1.0.19
       Fresh cfg-if v0.1.2
       Fresh libc v0.2.33
       Fresh quote v0.3.15
       Fresh num-traits v0.1.40
       Fresh lazy_static v0.2.9
       Fresh cc v1.0.3
       Fresh dtoa v0.4.2
       Fresh itoa v0.3.4
       Fresh getopts v0.2.15
       Fresh unicode-xid v0.0.4
       Fresh toml v0.4.5
       Fresh filetime v0.1.14
       Fresh num_cpus v1.7.0
       Fresh cmake v0.1.26
       Fresh serde_json v1.0.6
       Fresh synom v0.11.3
       Fresh build_helper v0.1.0 (file:///C:/Users/zilbuz/projets/rust/src/build_helper)
       Fresh syn v0.11.11
       Fresh serde_derive_internals v0.17.0
       Fresh serde_derive v1.0.19
       Fresh bootstrap v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/bootstrap)
    Finished dev [unoptimized] target(s) in 0.0 secs
running: C:\Users\zilbuz\projets\rust\build\bootstrap\debug\bootstrap build -v --stage 0 src\librustc
finding compilers
CC_x86_64-pc-windows-msvc = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.11.25503\\bin\\HostX64\\x64\\cl.exe"
CXX_x86_64-pc-windows-msvc = "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.11.25503\\bin\\HostX64\\x64\\cl.exe"
running sanity check
auto-detected local-rebuild 1.23.0-nightly
learning about cargo
> Assemble { target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
< Assemble { target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
> Rustc { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
  > Test { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
    > Std { target: "x86_64-pc-windows-msvc", compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
      > StartupObjects { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
      < StartupObjects { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
Building stage0 std artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
      > Sysroot { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
      < Sysroot { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
running: "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-msvc" "-j" "4" "--release" "--features" "panic-unwind backtrace force_alloc_system" "--manifest-path" "C:\\Users\\zilbuz\\projets\\rust\\src/libstd/Cargo.toml" "--message-format" "json"
    Finished release [optimized] target(s) in 0.0 secs
not updating "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0-std\\x86_64-pc-windows-msvc\\release\\.libstd.stamp"; contents equal and 13155929110.614656800s <= 13155929110.697176400s
      c Assemble { target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
      > StdLink { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
Copying stage0 std from stage0 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
        > Libdir { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
          c Sysroot { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
        < Libdir { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
        > CleanTools { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc", mode: Libstd }
        < CleanTools { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc", mode: Libstd }
      < StdLink { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
    < Std { target: "x86_64-pc-windows-msvc", compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
Building stage0 test artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
    c Sysroot { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
running: "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-msvc" "-j" "4" "--release" "--manifest-path" "C:\\Users\\zilbuz\\projets\\rust\\src/libtest/Cargo.toml" "--message-format" "json"
    Finished release [optimized] target(s) in 0.0 secs
not updating "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0-test\\x86_64-pc-windows-msvc\\release\\.libtest.stamp"; contents equal and 13155929121.138725900s <= 13155929121.210243200s
    c Assemble { target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
    > TestLink { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
Copying stage0 test from stage0 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
      c Libdir { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
      > CleanTools { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc", mode: Libtest }
      < CleanTools { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc", mode: Libtest }
    < TestLink { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
  < Test { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" }, target: "x86_64-pc-windows-msvc" }
  > Llvm { target: "x86_64-pc-windows-msvc" }
  < Llvm { target: "x86_64-pc-windows-msvc" }
  c Assemble { target_compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
  c Std { target: "x86_64-pc-windows-msvc", compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
Building stage0 compiler artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
  c Sysroot { compiler: Compiler { stage: 0, host: "x86_64-pc-windows-msvc" } }
running: "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-msvc" "-j" "4" "--release" "--features" " llvm" "--manifest-path" "C:\\Users\\zilbuz\\projets\\rust\\src/rustc/Cargo.toml" "--message-format" "json"
   Compiling rustc_binaryen v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_binaryen)
   Compiling rustc_resolve v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_resolve)
   Compiling rustc_allocator v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_allocator)
   Compiling rustc_metadata v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_metadata)
error: failed to run custom build command for `rustc_binaryen v0.0.0 (file:///C:/Users/zilbuz/projets/rust/src/librustc_binaryen)`
process didn't exit successfully: `C:\Users\zilbuz\projets\rust\build\x86_64-pc-windows-msvc\stage0-rustc\release\build\rustc_binaryen-5b38d8ef9a1be3fe\build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at '
command did not execute successfully, got: exit code: 1

build script failed, must exit now', C:\Users\zilbuz\.cargo\registry\src\github.1485827954.workers.dev-1ecc6299db9ec823\cmake-0.1.26\src\lib.rs:599:4
stack backtrace:
   0: std::sys_common::backtrace::_print
             at C:\projects\rust\src\libstd\sys_common\backtrace.rs:91
   1: std::panicking::default_hook::{{closure}}
             at C:\projects\rust\src\libstd\panicking.rs:383
   2: std::panicking::default_hook
             at C:\projects\rust\src\libstd\panicking.rs:397
   3: std::panicking::rust_panic_with_hook
             at C:\projects\rust\src\libstd\panicking.rs:577
   4: std::panicking::begin_panic<alloc::string::String>
             at C:\projects\rust\src\libstd\panicking.rs:538
   5: std::panicking::begin_panic_fmt
             at C:\projects\rust\src\libstd\panicking.rs:522
   6: cmake::Config::build
   7: cmake::Config::build
   8: cmake::Config::build
   9: POW10
  10: panic_unwind::__rust_maybe_catch_panic
             at C:\projects\rust\src\libpanic_unwind\lib.rs:101
  11: std::rt::lang_start
             at C:\projects\rust\src\libstd\rt.rs:51
  12: __scrt_common_main_seh
             at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
  13: BaseThreadInitThunk

warning: build failed, waiting for other jobs to finish...
error: build failed
thread 'main' panicked at 'command did not execute successfully: "C:\\Users\\zilbuz\\projets\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\cargo.exe" "build" "--target" "x86_64-pc-windows-msvc" "-j" "4" "--release" "--features" " llvm" "--manifest-path" "C:\\Users\\zilbuz\\projets\\rust\\src/rustc/Cargo.toml" "--message-format" "json"
expected success, got: exit code: 101', src\bootstrap\compile.rs:882:8
stack backtrace:
   0: std::sys_common::backtrace::_print
             at C:\projects\rust\src\libstd\sys_common\backtrace.rs:91
   1: std::panicking::default_hook::{{closure}}
             at C:\projects\rust\src\libstd\panicking.rs:383
   2: std::panicking::default_hook
             at C:\projects\rust\src\libstd\panicking.rs:397
   3: std::panicking::rust_panic_with_hook
             at C:\projects\rust\src\libstd\panicking.rs:577
   4: std::panicking::begin_panic<alloc::string::String>
             at C:\projects\rust\src\libstd\panicking.rs:538
   5: std::panicking::begin_panic_fmt
             at C:\projects\rust\src\libstd\panicking.rs:522
   6: <bootstrap::compile::Assemble as bootstrap::builder::Step>::run::{{closure}}
   7: <bootstrap::compile::Rustc as bootstrap::builder::Step>::run
   8: bootstrap::builder::Builder::ensure
   9: <bootstrap::compile::Rustc as bootstrap::builder::Step>::make_run
  10: <bootstrap::builder::Builder<'a> as core::ops::deref::Deref>::deref
  11: <bootstrap::builder::Builder<'a> as core::ops::deref::Deref>::deref
  12: bootstrap::builder::Builder::run
  13: bootstrap::Build::build
  14: core::ptr::<impl *mut T>::is_null
  15: panic_unwind::__rust_maybe_catch_panic
             at C:\projects\rust\src\libpanic_unwind\lib.rs:101
  16: std::rt::lang_start
             at C:\projects\rust\src\libstd\rt.rs:51
  17: main
  18: __scrt_common_main_seh
             at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
  19: BaseThreadInitThunk
Traceback (most recent call last):
  File "x.py", line 20, in <module>
    bootstrap.main()
  File "C:\Users\zilbuz\projets\rust\src\bootstrap\bootstrap.py", line 758, in main
    bootstrap()
  File "C:\Users\zilbuz\projets\rust\src\bootstrap\bootstrap.py", line 749, in bootstrap
    run(args, env=env, verbose=build.verbose)
  File "C:\Users\zilbuz\projets\rust\src\bootstrap\bootstrap.py", line 148, in run
    raise RuntimeError(err)
RuntimeError: failed to run: C:\Users\zilbuz\projets\rust\build\bootstrap\debug\bootstrap build -v --stage 0 src\librustc

@kennytm
Copy link
Member

kennytm commented Nov 23, 2017

Is cmake installed, i.e. does running cmake from the console work?

@zilbuz
Copy link
Contributor Author

zilbuz commented Nov 23, 2017

Yes it does, I have version 3.9.2.

@kennytm
Copy link
Member

kennytm commented Nov 23, 2017

Does C:\Users\zilbuz\projets\rust\build\x86_64-pc-windows-msvc\stage0-rustc\release\build\rustc_binaryen-5b38d8ef9a1be3fe\out\build\CMakeFiles\CMakeOutput.log exist? If yes, could you check if there's anything strange there? If no, how about C:\…\rustc_binaryen-5b38d8ef9a1be3fe\output?

@zilbuz
Copy link
Contributor Author

zilbuz commented Nov 23, 2017

I don't have any out or output folder in this directory. I only have the files:

  • build_script_build-5b38d8ef9a1be3fe.exe
  • build_script_build-5b38d8ef9a1be3fe.pdb
  • build-script-build.exe

Ah it seems the out folder is in another directory, with an additional x86_64-pc-windows-msvc after stage0-rustc. There is a CMakeOutput.log file, but there doesn't seem to be anything strange. I attached the file to the comment. There isn't any CMakeError.log file in the folder.

CMakeOutput.log

@kennytm
Copy link
Member

kennytm commented Nov 24, 2017

@zilbus Thank you! Could you also check rustc_binaryen-5b38d8ef9a1be3fe\output?

Also just a guess — will it work if you change the Visual Studio locale from French to English?

@zilbuz
Copy link
Contributor Author

zilbuz commented Nov 24, 2017

There isn't any output folder.

I tried changing the locale to English, and the compilation still doesn't work, but I have a clearer message this time: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppBuild.targets(317,5): error MSB3491: Could not write lines to file "emscripten-optimizer.dir\Release\emscript.6EB7F96E.tlog\emscripten-optimizer.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.

I'll try to compile rust from c:\rust to see if this works.

For informations, some log files:
Rust compilation log
rustc_binaryen/CMakeOutput.log

@kennytm
Copy link
Member

kennytm commented Nov 24, 2017

Sounds like a duplicate of #46113 if it works

@zilbuz
Copy link
Contributor Author

zilbuz commented Nov 24, 2017

It works (in English and in French :)), so you're right it's a duplicate. Should we write somewhere in the documentation the maximum length for the prefix in Windows ? (Or is it already written and I missed it?)

@kennytm kennytm added A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools and removed T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Nov 24, 2017
@kennytm
Copy link
Member

kennytm commented Nov 24, 2017

It is not written anywhere AFAIK. I think we should add a paragraph to https://github.com/rust-lang/rust#msvc saying

If you are seeing build failure when compiling rustc_binaryen, make sure the path length of the rust folder is not longer than 22 characters.

until we get rid of binaryen.

kennytm added a commit to kennytm/rust that referenced this issue Nov 25, 2017
Update MSVC compilation instructions regarding path length on Windows

Fix rust-lang#46214
kennytm added a commit to kennytm/rust that referenced this issue Nov 26, 2017
Update MSVC compilation instructions regarding path length on Windows

Fix rust-lang#46214
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools C-bug Category: This is a bug. O-wasm Target: WASM (WebAssembly), http://webassembly.org/ O-windows-msvc Toolchain: MSVC, Operating system: Windows T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

No branches or pull requests

2 participants