Closed Bug 1367935 Opened 7 years ago Closed 7 years ago

Fail to build on Windows because gcc crate fails to locate cl.exe

Categories

(Firefox Build System :: General, defect)

53 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1367995

People

(Reporter: xidorn, Unassigned)

References

Details

I'm seeing the following error when building with m-c today: 0:37.77 error: failed to run custom build command for `miniz-sys v0.1.9` 0:37.78 process didn't exit successfully: `c:\mozilla-source\stylo\obj-firefox-stylo\testing\geckodriver\.\debug\build\miniz-sys-17b016e6785aa5b2\build-script-build` (exit code: 101) 0:37.79 --- stdout 0:37.80 TARGET = Some("x86_64-pc-windows-msvc") 0:37.81 OPT_LEVEL = Some("0") 0:37.84 TARGET = Some("x86_64-pc-windows-msvc") 0:37.85 HOST = Some("x86_64-pc-windows-msvc") 0:37.85 TARGET = Some("x86_64-pc-windows-msvc") 0:37.86 TARGET = Some("x86_64-pc-windows-msvc") 0:37.87 HOST = Some("x86_64-pc-windows-msvc") 0:37.87 CC_x86_64-pc-windows-msvc = None 0:37.88 CC_x86_64_pc_windows_msvc = None 0:37.89 HOST_CC = None 0:37.89 CC = None 0:37.89 TARGET = Some("x86_64-pc-windows-msvc") 0:37.89 HOST = Some("x86_64-pc-windows-msvc") 0:37.89 CFLAGS_x86_64-pc-windows-msvc = None 0:37.89 CFLAGS_x86_64_pc_windows_msvc = None 0:37.89 HOST_CFLAGS = None 0:37.89 CFLAGS = None 0:37.89 PROFILE = Some("debug") 0:37.90 running: "cl.exe" "/nologo" "/MD" "/Z7" "/Foc:\\mozilla-source\\stylo\\obj-firefox-stylo\\testing\\geckodriver\\.\\x86_64-pc-windows-msvc\\debug\\build\\miniz-sys-18005000ddedadf4\\out\\miniz.o" "/c" "miniz.c" 0:37.90 0:37.90 0:37.90 failed to execute command: The system cannot find the file specified. (os error 2) 0:37.91 Is `cl.exe` not installed? (see https://github.com/alexcrichton/gcc-rs#compile-time-requirements for help) 0:37.92 0:37.95 0:37.95 0:37.95 --- stderr 0:37.95 thread 'main' panicked at 'explicit panic', C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1127 0:37.95 stack backtrace: 0:37.96 0: std::sys_common::backtrace::_print 0:37.96 at C:\projects\rust\src\libstd\sys_common\backtrace.rs:94 0:37.96 1: std::panicking::default_hook::{{closure}} 0:37.96 at C:\projects\rust\src\libstd\panicking.rs:354 0:37.98 2: std::panicking::default_hook 0:37.99 at C:\projects\rust\src\libstd\panicking.rs:371 0:37.99 3: std::panicking::rust_panic_with_hook 0:38.01 at C:\projects\rust\src\libstd\panicking.rs:549 0:38.02 4: std::panicking::begin_panic<&str> 0:38.02 at C:\projects\rust\src\libstd\panicking.rs:511 0:38.03 5: gcc::fail 0:38.03 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1127 0:38.03 6: gcc::run 0:38.03 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1110 0:38.04 7: gcc::Config::compile_object 0:38.05 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:482 0:38.05 8: gcc::Config::compile_objects 0:38.05 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:448 0:38.05 9: gcc::Config::compile 0:38.06 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:398 0:38.07 10: gcc::compile_library 0:38.07 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:163 0:38.07 11: build_script_build::main 0:38.07 at ./build.rs:6 0:38.08 12: panic_unwind::__rust_maybe_catch_panic 0:38.08 at C:\projects\rust\src\libpanic_unwind\lib.rs:98 0:38.08 13: std::rt::lang_start 0:38.08 at C:\projects\rust\src\libstd\rt.rs:51 0:38.10 14: main 0:38.11 15: __scrt_common_main_seh 0:38.12 at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253 0:38.15 16: BaseThreadInitThunk 0:38.16 0:38.16 Build failed, waiting for other jobs to finish... 0:38.16 error: failed to run custom build command for `bzip2-sys v0.1.5` 0:38.16 process didn't exit successfully: `c:\mozilla-source\stylo\obj-firefox-stylo\testing\geckodriver\.\debug\build\bzip2-sys-6c5e82341d31c1a2\build-script-build` (exit code: 101) 0:38.17 --- stdout 0:38.17 TARGET = Some("x86_64-pc-windows-msvc") 0:38.17 OPT_LEVEL = Some("0") 0:38.17 TARGET = Some("x86_64-pc-windows-msvc") 0:38.17 HOST = Some("x86_64-pc-windows-msvc") 0:38.17 TARGET = Some("x86_64-pc-windows-msvc") 0:38.17 TARGET = Some("x86_64-pc-windows-msvc") 0:38.20 HOST = Some("x86_64-pc-windows-msvc") 0:38.23 CC_x86_64-pc-windows-msvc = None 0:38.25 CC_x86_64_pc_windows_msvc = None 0:38.25 HOST_CC = None 0:38.27 CC = None 0:38.29 TARGET = Some("x86_64-pc-windows-msvc") 0:38.30 HOST = Some("x86_64-pc-windows-msvc") 0:38.31 CFLAGS_x86_64-pc-windows-msvc = None 0:38.33 CFLAGS_x86_64_pc_windows_msvc = None 0:38.34 HOST_CFLAGS = None 0:38.35 CFLAGS = None 0:38.36 PROFILE = Some("debug") 0:38.36 running: "cl.exe" "/nologo" "/MD" "/Z7" "/I" "bzip2-1.0.6" "/D_WIN32" "/DBZ_EXPORT" "/DBZ_NO_STDIO" "/Foc:\\mozilla-source\\stylo\\obj-firefox-stylo\\testing\\geckodriver\\.\\x86_64-pc-windows-msvc\\debug\\build\\bzip2-sys-e9ccf045384351c1\\out\\bzip2-1.0.6\\blocksort.o" "/c" "bzip2-1.0.6/blocksort.c" 0:38.37 0:38.38 0:38.39 failed to execute command: The system cannot find the file specified. (os error 2) 0:38.40 Is `cl.exe` not installed? (see https://github.com/alexcrichton/gcc-rs#compile-time-requirements for help) 0:38.40 0:38.40 0:38.40 0:38.40 --- stderr 0:38.40 thread 'main' panicked at 'explicit panic', C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1127 0:38.40 stack backtrace: 0:38.40 0: std::sys_common::backtrace::_print 0:38.40 at C:\projects\rust\src\libstd\sys_common\backtrace.rs:94 0:38.40 1: std::panicking::default_hook::{{closure}} 0:38.40 at C:\projects\rust\src\libstd\panicking.rs:354 0:38.40 2: std::panicking::default_hook 0:38.40 at C:\projects\rust\src\libstd\panicking.rs:371 0:38.41 3: std::panicking::rust_panic_with_hook 0:38.41 at C:\projects\rust\src\libstd\panicking.rs:549 0:38.41 4: std::panicking::begin_panic<&str> 0:38.41 at C:\projects\rust\src\libstd\panicking.rs:511 0:38.41 5: gcc::fail 0:38.41 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1127 0:38.41 6: gcc::run 0:38.41 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:1110 0:38.41 7: gcc::Config::compile_object 0:38.42 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:482 0:38.42 8: gcc::Config::compile_objects 0:38.42 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:448 0:38.42 9: gcc::Config::compile 0:38.42 at C:\mozilla-source\stylo\third_party\rust\gcc\src\lib.rs:398 0:38.42 10: build_script_build::main 0:38.42 at ./build.rs:13 0:38.43 11: panic_unwind::__rust_maybe_catch_panic 0:38.44 at C:\projects\rust\src\libpanic_unwind\lib.rs:98 0:38.44 12: std::rt::lang_start 0:38.44 at C:\projects\rust\src\libstd\rt.rs:51 0:38.44 13: main 0:38.44 14: __scrt_common_main_seh 0:38.44 at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253 0:38.44 15: BaseThreadInitThunk 0:38.45 0:38.45 Build failed, waiting for other jobs to finish...
I suspect this is because of https://hg.mozilla.org/mozilla-central/rev/ffcd5303a4ff which updates gcc crate.
Blocks: 1340637
A workaround is to completely disable building geckodriver by replacing this line with "pass": https://hg.mozilla.org/mozilla-central/file/071bd9eec146/toolkit/toolkit.mozbuild#l171
Probably the issue is not updates gcc, but actually enabling geckodriver...
It seems I can build separate geckodriver without problem in the same environment, so probably mach is messing up something.
I am seeing the exact same issue so it's not just Xidorn's environment.
I initially thought it might be a stylo-specific failure, because TreeHerder apparently doesn't complain about this. But I was wrong. Normal Windows build with MozillaBuild environment is broken as well. I think we need to disable geckodriver on Windows as well.
(In reply to Xidorn Quan [:xidorn] UTC+10 from comment #6) > I initially thought it might be a stylo-specific failure, because TreeHerder > apparently doesn't complain about this. But I was wrong. Normal Windows > build with MozillaBuild environment is broken as well. > > I think we need to disable geckodriver on Windows as well. Yeah, latest mozilla-central with the most updated environment (./mach bootstrap) fails to build on Windows.
Are you building with MSVC 2017 or 2015? The gcc crate just landed support for finding MSVC 2017 recently: https://github.com/alexcrichton/gcc-rs/pull/160
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #8) > Are you building with MSVC 2017 or 2015? The gcc crate just landed support > for finding MSVC 2017 recently: > https://github.com/alexcrichton/gcc-rs/pull/160 I'm building with MSVC 2015
Ah, I just noticed that my error message is slightly different and complains about "miniz-sys" not "bzip2"
I'm using MSVC 2015 as well. (In reply to Alessio Placitelli [:Dexter] from comment #10) > Ah, I just noticed that my error message is slightly different and complains > about "miniz-sys" not "bzip2" miniz-sys is also using gcc crate, and in this case, it is gcc that fails to locate cl.exe for building, so it is likely the same issue.
Summary: Fail to build on Windows because of bzip2-sys crate → Fail to build on Windows because gcc crate fails to locate cl.exe
To be more precise, I have both MSVC 2015 and 2017 installed (actually also 2008 for building psutil, but that's probably irrelevant), and I'm using the script from MozillaBuild which setups the environment for mach to use 2015.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.