Closed
Bug 1364458
Opened 7 years ago
Closed 7 years ago
mach bootstrap installs a 32-bit LLVM even if a 64-bit version is required
Categories
(Firefox Build System :: General, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: emk, Unassigned)
References
Details
37:06.33 --- stderr 37:06.33 thread '<unnamed>' panicked at 'Unable to find libclang: "the `libclang` shared library could not be opened: c:/Users/kimu/.mozbuild/clang\\bin\\libclang.dll"', C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\result.rs:837 37:06.33 stack backtrace: 37:06.34 0: 0x7ff6e6a5ae4a - std::panicking::default_hook::{{closure}} 37:06.35 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:354 37:06.35 1: 0x7ff6e6a5a356 - std::panicking::default_hook 37:06.35 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:365 37:06.35 2: 0x7ff6e6a5dd2d - std::panicking::rust_panic_with_hook 37:06.35 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:553 37:06.35 3: 0x7ff6e6a5dbc8 - std::panicking::begin_panic<collections::string::String> 37:06.35 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:515 37:06.35 4: 0x7ff6e6a5dae4 - std::panicking::begin_panic_fmt 37:06.35 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:499 37:06.36 5: 0x7ff6e6a5da79 - std::panicking::rust_begin_panic 37:06.36 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:475 37:06.37 6: 0x7ff6e6a67227 - core::panicking::panic_fmt 37:06.37 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\panicking.rs:69 37:06.37 7: 0x7ff6e678d24d - core::result::unwrap_failed<collections::string::String> 37:06.37 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\macros.rs:29 37:06.37 8: 0x7ff6e67868ec - std::sync::once::{{impl}}::call_once::{{closure}}<closure> 37:06.37 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs:210 37:06.37 9: 0x7ff6e6a518a2 - std::sync::once::Once::call_inner 37:06.38 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs:286 37:06.38 10: 0x7ff6e67ed2d9 - bindgen::Bindings::generate 37:06.38 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:1031 37:06.38 11: 0x7ff6e67ece32 - bindgen::Builder::generate 37:06.39 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:777 37:06.39 12: 0x7ff6e677079c - build_script_build::build_gecko::bindings::write_binding_file 37:06.40 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:244 37:06.40 13: 0x7ff6e677856d - build_script_build::build_gecko::bindings::generate_bindings 37:06.41 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:830 37:06.42 14: 0x7ff6e6a5f081 - panic_unwind::__rust_maybe_catch_panic 37:06.42 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libpanic_unwind\lib.rs:98 37:06.43 15: 0x7ff6e6768ce4 - alloc::boxed::{{impl}}::call_box<(),closure> 37:06.43 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\liballoc\boxed.rs:605 37:06.43 16: 0x7ff6e6a5903e - std::sys::imp::thread::{{impl}}::new::thread_start 37:06.43 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sys\windows\thread.rs:50 37:06.44 17: 0x7ff937cd2773 - BaseThreadInitThunk 37:06.44 thread '<unnamed>thread '' panicked at 'Once instance has previously been poisoned<unnamed>' panicked at 'Once instance has previously been poisoned', C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs', C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs::261 37:06.45 261 37:06.45 stack backtrace: 37:06.45 0: 0x7ff6e6a5ae4a - std::panicking::default_hook::{{closure}} 37:06.46 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:354 37:06.47 1: 0x7ff6e6a5a356 - std::panicking::default_hook 37:06.47 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:365 37:06.48 2: 0x7ff6e6a5dd2d - std::panicking::rust_panic_with_hook 37:06.48 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:553 37:06.48 3: 0x7ff6e6a5db69 - std::panicking::begin_panic<&str> 37:06.48 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:515 37:06.48 4: 0x7ff6e6a5190a - std::sync::once::Once::call_inner 37:06.49 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs:261 37:06.49 5: 0x7ff6e67ed2d9 - bindgen::Bindings::generate 37:06.50 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:1031 37:06.51 6: 0x7ff6e67ece32 - bindgen::Builder::generate 37:06.51 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:777 37:06.51 7: 0x7ff6e677079c - build_script_build::build_gecko::bindings::write_binding_file 37:06.52 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:244 37:06.52 8: 0x7ff6e6773da5 - build_script_build::build_gecko::bindings::generate_structs 37:06.53 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:578 37:06.53 9: 0x7ff6e6a5f081 - panic_unwind::__rust_maybe_catch_panic 37:06.54 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libpanic_unwind\lib.rs:98 37:06.55 10: 0x7ff6e6768824 - alloc::boxed::{{impl}}::call_box<(),closure> 37:06.55 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\liballoc\boxed.rs:605 37:06.55 11: 0x7ff6e6a5903e - std::sys::imp::thread::{{impl}}::new::thread_start 37:06.55 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sys\windows\thread.rs:50 37:06.55 12: 0x7ff937cd2773 - BaseThreadInitThunk 37:06.56 thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Any', C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\result.rs:837 37:06.56 stack backtrace: 37:06.57 0: 0x7ff6e6a5ae4a - std::panicking::default_hook::{{closure}} 37:06.57 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:354 37:06.58 1: 0x7ff6e6a5a356 - std::panicking::default_hook 37:06.58 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:365 37:06.58 2: 0x7ff6e6a5dd2d - std::panicking::rust_panic_with_hook 37:06.58 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:553 37:06.59 3: 0x7ff6e6a5db69 - std::panicking::begin_panic<&str> 37:06.60 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:515 37:06.60 4: 0x7ff6e6a5190a - std::sync::once::Once::call_inner 37:06.60 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sync\once.rs:261 37:06.60 5: 0x7ff6e67ed2d9 - bindgen::Bindings::generate 37:06.60 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:1031 37:06.60 6: 0x7ff6e67ece32 - bindgen::Builder::generate 37:06.61 at F:\m\mozilla-unified\third_party\rust\bindgen\src\lib.rs:777 37:06.62 7: 0x7ff6e677079c - build_script_build::build_gecko::bindings::write_binding_file 37:06.62 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:244 37:06.62 8: 0x7ff6e6773da5 - build_script_build::build_gecko::bindings::generate_structs 37:06.62 at F:\m\mozilla-unified\servo\components\style\build_gecko.rs:578 37:06.62 9: 0x7ff6e6a5f081 - panic_unwind::__rust_maybe_catch_panic 37:06.62 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libpanic_unwind\lib.rs:98 37:06.63 10: 0x7ff6e6768a84 - alloc::boxed::{{impl}}::call_box<(),closure> 37:06.64 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\liballoc\boxed.rs:605 37:06.64 11: 0x7ff6e6a5903e - std::sys::imp::thread::{{impl}}::new::thread_start 37:06.64 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\sys\windows\thread.rs:50 37:06.65 12: 0x7ff937cd2773 - BaseThreadInitThunk 37:06.65 stack backtrace: 37:06.65 0: 0x7ff6e6a5ae4a - std::panicking::default_hook::{{closure}} 37:06.65 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:354 37:06.65 1: 0x7ff6e6a5a356 - std::panicking::default_hook 37:06.65 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:365 37:06.66 2: 0x7ff6e6a5dd2d - std::panicking::rust_panic_with_hook 37:06.67 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:553 37:06.67 3: 0x7ff6e6a5dbc8 - std::panicking::begin_panic<collections::string::String> 37:06.67 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:515 37:06.67 4: 0x7ff6e6a5dae4 - std::panicking::begin_panic_fmt 37:06.68 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:499 37:06.69 5: 0x7ff6e6a5da79 - std::panicking::rust_begin_panic 37:06.69 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\panicking.rs:475 37:06.69 6: 0x7ff6e6a67227 - core::panicking::panic_fmt 37:06.69 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\panicking.rs:69 37:06.70 7: 0x7ff6e6762ea7 - core::result::unwrap_failed<Box<Any>> 37:06.70 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\macros.rs:29 37:06.70 8: 0x7ff6e677b8ce - build_script_build::main 37:06.70 at F:\m\mozilla-unified\servo\components\style\build.rs:88 37:06.70 9: 0x7ff6e6a5f081 - panic_unwind::__rust_maybe_catch_panic 37:06.70 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libpanic_unwind\lib.rs:98 37:06.70 10: 0x7ff6e6a5e31a - std::rt::lang_start 37:06.72 at C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libstd\rt.rs:51 37:06.72 11: 0x7ff6e6a6d738 - __scrt_common_main_seh 37:06.72 at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253 37:06.72 12: 0x7ff937cd2773 - BaseThreadInitThunk 37:06.72 37:06.73 f:/m/mozilla-unified/config/rules.mk:1020: recipe for target 'force-cargo-library-build' failed 37:06.73 mozmake.EXE[5]: *** [force-cargo-library-build] Error 101 37:06.73 f:/m/mozilla-unified/config/recurse.mk:73: recipe for target 'toolkit/library/rust/target' failed 37:06.73 mozmake.EXE[4]: *** [toolkit/library/rust/target] Error 2 37:06.73 mozmake.EXE[4]: *** Waiting for unfinished jobs....
Comment 1•7 years ago
|
||
On Windows, you currently still need to specify the path of libclang and clang.exe manually in mozconfig IIRC. This is one thing we need to solve before we can switch stylo to build by default.
Blocks: 1310852
Reporter | ||
Comment 2•7 years ago
|
||
I added ac_add_options --enable-stylo ac_add_options --with-libclang-path=c:/Users/kimu/.mozbuild/clang/lib ac_add_options --with-clang-path=c:/Users/kimu/.mozbuild/clang/bin/clang.exe as |mach bootstrap| indicated when I got the error in comment #0. I also tried ac_add_options --with-libclang-path=/c/Users/kimu/.mozbuild/clang/lib ac_add_options --with-clang-path=/c/Users/kimu/.mozbuild/clang/bin/clang.exe and ac_add_options --with-libclang-path=C:\Users\kimu\.mozbuild\clang\lib ac_add_options --with-clang-path=C:\Users\kimu\.mozbuild\clang\bin\clang.exe , still no luck. I confirmed that I have C:\Users\kimu\.mozbuild\clang\bin\libclang.dll, but the build tool does not detect the DLL for some reasons according to the following message: > 37:06.33 thread '<unnamed>' panicked at 'Unable to find libclang: "the `libclang` shared library could not be opened: c:/Users/kimu/.mozbuild/clang\\bin\\libclang.dll"', C:\bot\slave\stable-dist-rustc-win-msvc-64\build\src\libcore\result.rs:837 > 37:06.33 stack backtrace: Do you have any other suggestions?
Comment 3•7 years ago
|
||
I use: ac_add_options --with-libclang-path="C:/Program\ Files/LLVM/lib" ac_add_options --with-clang-path="C:/Program\ Files/LLVM/bin/clang.exe" Which seems to work for me. Not sure if it helps.
Reporter | ||
Comment 4•7 years ago
|
||
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #3) > I use: > ac_add_options --with-libclang-path="C:/Program\ Files/LLVM/lib" > ac_add_options --with-clang-path="C:/Program\ Files/LLVM/bin/clang.exe" > > Which seems to work for me. Not sure if it helps. Oh, build passed if I install and use a 64-bit version from <http://llvm.org/builds/>. Thanks for the hint. |mach bootstrap| is really footgunish.
Summary: Can't build with stylo eabled on Windows → mach bootstrap installs a 32-bit LLVM even if a 64-bit version is required
Reporter | ||
Comment 5•7 years ago
|
||
Also I had to use a local patch to install LLVM using |mach bootstrap|.
Depends on: 1364406
Reporter | ||
Updated•7 years ago
|
Component: CSS Parsing and Computation → Build Config
Reporter | ||
Comment 6•7 years ago
|
||
The 32-bit LLVM package is hard-coded here: https://dxr.mozilla.org/mozilla-central/source/python/mozboot/mozboot/stylo.py#63-67 (See also <https://dxr.mozilla.org/mozilla-central/source/browser/config/tooltool-manifests/win32/clang.manifest>)
Reporter | ||
Updated•7 years ago
|
Blocks: stylo-nightly-build
Reporter | ||
Comment 7•7 years ago
|
||
Fixed by bug 1364588.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Updated•7 years ago
|
Product: Core → Firefox Build System
You need to log in
before you can comment on or make changes to this bug.
Description
•