Closed
Bug 972983
Opened 11 years ago
Closed 11 years ago
Debug-mode Linux Firefox build failure: XPCCallContext.cpp:380: error: undefined reference to 'js::BaseProxyHandler::SET'
Categories
(Core :: XPConnect, defect)
Tracking
()
RESOLVED
FIXED
mozilla30
People
(Reporter: nstewart, Unassigned)
References
Details
(Keywords: regression)
Attachments
(3 files)
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
bholley
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
Steps to reproduce:
Daily debug-mode x86_64 Linux Firefox build stopped succeeding as of Feb 13, 2014 8:34:52 PM CST.
git revision b921abacaf1e89ab77677b344aee1e60a8fe79b7
Actual results:
47:04.34 INPUT("../../gfx/skia/Unified_cpp_gfx_skia16.o")
47:04.34
47:04.34 /usr/bin/ld.gold.real: warning: hidden symbol 'pixman_add_triangles' in /media/jenkins/workspace/firefox_default_linux_debug/obj-x86_64-unknown-linux-gnu/toolkit/library/../../gfx/cairo/libpixman/src/pixman-trap.o is referenced by DSO /usr/lib/gcc/x86_64-linux-gnu/4.6/../../../x86_64-linux-gnu/libcairo.so
47:04.34 /media/jenkins/workspace/firefox_default_linux_debug/js/xpconnect/src/XPCCallContext.cpp:380: error: undefined reference to 'js::BaseProxyHandler::SET'
47:04.34 /media/jenkins/workspace/firefox_default_linux_debug/js/xpconnect/src/XPCCallContext.cpp:380: error: undefined reference to 'js::BaseProxyHandler::GET'
47:04.34 collect2: ld returned 1 exit status
47:04.34 make[5]: *** [libxul.so] Error 1
47:04.34 make[4]: *** [toolkit/library/libs] Error 2
47:04.34 make[3]: *** [libs] Error 2
47:04.34 make[2]: *** [default] Error 2
47:04.34 make[1]: *** [realbuild] Error 2
47:04.34 make: *** [build] Error 2
Expected results:
Usually this build succeeds.
.mozconf as follows:
# Firefox
ac_add_options --enable-application=browser
ac_add_options --enable-profiling
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --enable-trace-malloc
# Treat warnings as errors in directories with FAIL_ON_WARNINGS.
# This stopped working 2012-12-04 for Ubuntu 12.04
ac_add_options --enable-warnings-as-errors
# Use ccache
ac_add_options --with-ccache=/usr/bin/ccache
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
#STRIP_FLAGS="--strip-debug"
mk_add_options MOZ_MAKE_FLAGS="-j1"
# Enable parallel compiling
# mk_add_options MOZ_MAKE_FLAGS="-j4"
Reporter | ||
Comment 1•11 years ago
|
||
Build platform is Ubuntu 12.04 x86_64
Comment 2•11 years ago
|
||
Confirmed by cviecco (same platform Ubuntu 12.04 x86_64)
Updated•11 years ago
|
OS: Mac OS X → Linux
Hardware: x86 → x86_64
Reporter | ||
Comment 3•11 years ago
|
||
In release-mode "ac_add_options --enable-optimize" the build is fine.
- Nigel
Comment 4•11 years ago
|
||
I'm also getting this on Ubuntu 12.10 x86_64. Gcc version is:
gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Status: UNCONFIRMED → NEW
Ever confirmed: true
Updated•11 years ago
|
Severity: normal → blocker
Component: Untriaged → XPConnect
Product: Firefox → Core
Comment 5•11 years ago
|
||
Blocks: 965901
Keywords: regression
Comment 6•11 years ago
|
||
Attachment #8376920 -
Flags: review?(bobbyholley)
Comment 7•11 years ago
|
||
(In reply to Karl Tomlinson (:karlt) from comment #6)
> Created attachment 8376920 [details] [diff] [review]
> use enum for BaseProxyHandler::Action values
Hm, does this really work? I think I tried that, and had to ditch it because you can't OR enum values or something. Can you run your patch through try -b do -p all -u none -t none? r=me if that's green, but I suspect it isn't.
Comment 8•11 years ago
|
||
(In reply to Bobby Holley (:bholley) from comment #7)
> Hm, does this really work? I think I tried that, and had to ditch it because
> you can't OR enum values or something.
You can't OR strongly typed (MOZ_ENUM_TYPE(Action)) enums because they won't be implicitly converted to another type, but plain old enums are implicitly converted, to int I think in this case, before the bitwise operation.
> Can you run your patch through try -b
> do -p all -u none -t none? r=me if that's green, but I suspect it isn't.
Thanks. I'll put it through try, with some tests, when I have some more things to test.
Comment 9•11 years ago
|
||
Hi Bobby and Karl,
I have the same build error on ubuntu 12.04 64bit.
If we have OR operation concern, I suggest to use the original code.
I just define these variable in cpp file. This patch works for me.
--
The static member need to be "defined" outside of the class declaration.
Updated•11 years ago
|
Attachment #8376954 -
Flags: review?(bobbyholley)
Comment 10•11 years ago
|
||
Some build results, but need to another of my patches killed the NT builds.
https://tbpl.mozilla.org/?tree=Try&rev=155dfdec56b7
https://tbpl.mozilla.org/?tree=Try&rev=a1f12431121d
(In reply to Karl Tomlinson (:karlt) from comment #8)
> strongly typed (MOZ_ENUM_TYPE(Action)) enums
Actually MOZ_ENUM_TYPE() is not strongly typed, but the underlying type.
MOZ_BEGIN_ENUM_CLASS is the strongly typed form.
Comment 11•11 years ago
|
||
Comment on attachment 8376920 [details] [diff] [review]
use enum for BaseProxyHandler::Action values
r=me on this if it does the trick.
Attachment #8376920 -
Flags: review?(bobbyholley) → review+
Comment 12•11 years ago
|
||
Comment on attachment 8376954 [details] [diff] [review]
js_BaseProxyHandler_build_error.patch
I think the other patch is probably the way to go, assuming it works.
Attachment #8376954 -
Flags: review?(bobbyholley)
Comment 13•11 years ago
|
||
Successful builds on WINNT also.
https://tbpl.mozilla.org/?tree=Try&rev=e41851a88ade
https://tbpl.mozilla.org/?tree=Try&rev=17e4b2554586
Comment 14•11 years ago
|
||
Comment 15•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla30
Reporter | ||
Comment 16•11 years ago
|
||
Confirming that the build is now succeeding again on Ubuntu 12.04.
As of git revision e0a06f0abb7d8baa0d649228ea367cf7a1f726cd.
Thanks, all!
- Nigel
You need to log in
before you can comment on or make changes to this bug.
Description
•