Closed
Bug 1556185
Opened 5 years ago
Closed 5 years ago
Looks like dom/chrome-webidl/*.webidl files do not depend on mozilla-config.h
Categories
(Firefox Build System :: General, defect)
Firefox Build System
General
Tracking
(firefox69 fixed)
RESOLVED
FIXED
mozilla69
Tracking | Status | |
---|---|---|
firefox69 | --- | fixed |
People
(Reporter: ehsan.akhgari, Assigned: chmanchester)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
STR:
- Build mozilla-central with a typical optimized mozconfig.
- Apply the attached patch to build mozilla-central as beta. The key part of the patch is that it changes the milestone version number to 69, which results in
IS_NIGHTLY
to be removed frommozilla-config.h
. - Rebuild mozilla-central without clobbering. The build fails like this:
24:07.53 toolkit/library/libxul.so
25:32.80 /usr/bin/ld: ../../dom/bindings/UnifiedBindings2.o: in function `mozilla::dom::ChromeUtils_Binding::clearRecentJSDevError(JSContext*, unsigned int, JS::Value*)':
25:32.80 /home/ehsan/moz/src/obj-ff-opt/dom/bindings/ChromeUtilsBinding.cpp:4308: undefined reference to `mozilla::dom::ChromeUtils::ClearRecentJSDevError(mozilla::dom::GlobalObject&)'
25:32.80 /usr/bin/ld: ../../dom/bindings/UnifiedBindings2.o: in function `mozilla::dom::ChromeUtils_Binding::get_recentJSDevError(JSContext*, unsigned int, JS::Value*)':
25:32.80 /home/ehsan/moz/src/obj-ff-opt/dom/bindings/ChromeUtilsBinding.cpp:4277: undefined reference to `mozilla::dom::ChromeUtils::GetRecentJSDevError(mozilla::dom::GlobalObject&, JS::MutableHandle<JS::Value>, mozilla::Err
orResult&)'
25:59.35 /usr/bin/ld: libxul.so: hidden symbol `_ZN7mozilla3dom11ChromeUtils19GetRecentJSDevErrorERNS0_12GlobalObjectEN2JS13MutableHandleINS4_5ValueEEERNS_11ErrorResultE' isn't defined
25:59.35 /usr/bin/ld: final link failed: bad value
25:59.65 clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
25:59.65 make[4]: *** [/home/ehsan/moz/src/config/rules.mk:669: libxul.so] Error 1
25:59.65 make[3]: *** [/home/ehsan/moz/src/config/recurse.mk:74: toolkit/library/target] Error 2
25:59.65 make[2]: *** [/home/ehsan/moz/src/config/recurse.mk:34: compile] Error 2
25:59.65 make[1]: *** [/home/ehsan/moz/src/config/rules.mk:400: default] Error 2
25:59.65 make: *** [client.mk:125: build] Error 2
touch dom/chrome-webidl/ChromeUtils.webidl
./mach build
. Now the build succeeds.
The functions the linker thinks were being called from the WebIDL generated code were behind an #ifdef NIGHTLY_BUILD
.
Assignee | ||
Comment 1•5 years ago
|
||
We're using $(GLOBAL_DEPS)
as dependencies in the one-off makefile for these written by the make backend, but that particular makefile is included too early for GLOBAL_DEPS to be set. Usually GLOBAL_DEPS would list autoconf.mk, which would reflect changes to defines, which seems to be the intention here.
Assignee: nobody → cmanchester
Assignee | ||
Comment 2•5 years ago
|
||
webidlsrcs.mk is treated specially by the build system, and this entire
process should be supported better by moz.build, but in the meantime this
fixes the clobber bug caused by not re-building these targets when defines
are updated.
Pushed by cmanchester@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba230c7ab421
Ensure autoconf.mk is tracked as a dependency when preprocessing webidls. r=nalexander
Comment 4•5 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 5 years ago
status-firefox69:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla69
You need to log in
before you can comment on or make changes to this bug.
Description
•