Closed
Bug 1364458
Opened 8 years ago
Closed 8 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•8 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•8 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•8 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•8 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•8 years ago
|
||
Also I had to use a local patch to install LLVM using |mach bootstrap|.
Depends on: 1364406
Reporter | ||
Updated•8 years ago
|
Component: CSS Parsing and Computation → Build Config
Reporter | ||
Comment 6•8 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•8 years ago
|
Blocks: stylo-nightly-build
Reporter | ||
Comment 7•8 years ago
|
||
Fixed by bug 1364588.
Status: NEW → RESOLVED
Closed: 8 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
•