Compilation seems to fail on an M-C file with some strange errors varying from platform to platform: Linux: mozilla/RefPtr.h:40:5: error: invalid use of incomplete type 'class mozilla::DOMMediaStream' mozilla/dom/AudioContext.h:38:7: error: forward declaration of 'class mozilla::DOMMediaStream' Mac: mozilla/RefPtr.h:40:9: error: member access into incomplete type 'mozilla::DOMMediaStream' Windows: mozilla/RefPtr.h(40): error C2027: use of undefined type 'mozilla::DOMMediaStream' mozilla/RefPtr.h(40): error C2227: left of '->Release' must point to class/struct/union/generic type I did a clobber, but that didn't fix anything.
Richard reports to be able to compile with M-C at 120c713a857f but not further. Here from the M-C pushlog: e2a70a374a1c Hiroyuki Ikezoe — Bug 1344619 - Part 1: Introduce WillCompose() to update various state that we need to update as the result of ComposeStyle(). r=birtles 120c713a857f Zibi Braniecki — Bug 1337694 - Add language negotiation heuristics to LocaleService. r=jfkthame
Hmm, from the compiler log (Mac): -fno-omit-frame-pointer -Werror /builds/slave/tb-c-cen-m64-00000000000000000/build/mailnews/base/util/nsMsgIncomingServer.cpp In file included from /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dom/bindings/UnifiedBindings18.cpp:2: In file included from /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dom/bindings/SVGUnitTypeValuesBinding.cpp:3: In file included from /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dist/include/mozilla/dom/NonRefcountedDOMObject.h:10: In file included from /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dist/include/nsISupportsImpl.h:14: In file included from /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dist/include/nsISupportsUtils.h:15: /builds/slave/tb-c-cen-m64-00000000000000000/build/objdir-tb/dist/include/mozilla/RefPtr.h:40:9: error: member access into incomplete type 'mozilla::DOMMediaStream' aPtr->Release();
However, on Windows I see: c:/builds/moz2_slave/tb-c-cen-w32-00000000000000000/build/objdir-tb/_virtualenv/Scripts/python.exe c:/builds/moz2_slave/tb-c-cen-w32-00000000000000000/build/mozilla/config/expandlibs_gen.py -o dom_quota.lib.desc Unified_cpp_dom_quota0.obj UnifiedBindings18.cpp c:\builds\moz2_slave\tb-c-cen-w32-00000000000000000\build\objdir-tb\dist\include\mozilla/RefPtr.h(40): error C2027: use of undefined type 'mozilla::DOMMediaStream' c:\builds\moz2_slave\tb-c-cen-w32-00000000000000000\build\objdir-tb\dist\include\mozilla\dom\SpeechRecognition.h(35): note: see declaration of 'mozilla::DOMMediaStream' c:\builds\moz2_slave\tb-c-cen-w32-00000000000000000\build\objdir-tb\dist\include\mozilla/RefPtr.h(39): note: while compiling class template member function 'void mozilla::RefPtrTraits<U>::Release(U *)' with [ U=mozilla::DOMMediaStream ] And on Linux: [snip] -Werror /builds/slave/tb-c-cen-l64-00000000000000000/build/mailnews/jsaccount/src/JaAbDirectory.cpp /builds/slave/tb-c-cen-l64-00000000000000000/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.4/../../../../x86_64-unknown-linux-gnu/bin/as: /lib64/libz.so.1: no version information available (required by /builds/slave/tb-c-cen-l64-00000000000000000/build/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.9.4/../../../../x86_64-unknown-linux-gnu/bin/as) In file included from /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/nsISupportsUtils.h:15:0, from /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/nsISupportsImpl.h:14, from /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/dom/NonRefcountedDOMObject.h:10, from /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dom/bindings/SVGUnitTypeValuesBinding.cpp:3, from /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dom/bindings/UnifiedBindings18.cpp:2: /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/RefPtr.h: In instantiation of 'static void mozilla::RefPtrTraits<U>::Release(U*) [with U = mozilla::DOMMediaStream]': /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/RefPtr.h:395:45: required from 'static void RefPtr<T>::ConstRemovingRefPtrTraits<U>::Release(U*) [with U = mozilla::DOMMediaStream; T = mozilla::DOMMediaStream]' /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/RefPtr.h:78:52: required from 'RefPtr<T>::~RefPtr() [with T = mozilla::DOMMediaStream]' /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/dom/SpeechRecognition.h:133:32: required from here /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/mozilla/RefPtr.h:40:5: error: invalid use of incomplete type 'class mozilla::DOMMediaStream' aPtr->Release(); Hiro and Brian, can you please tell me what's going on here? Maybe also Cameron.
(In reply to Jorg K (GMT+1) from comment #3) > /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/ > mozilla/dom/SpeechRecognition.h:133:32: required from here > /builds/slave/tb-c-cen-l64-00000000000000000/build/objdir-tb/dist/include/ > mozilla/RefPtr.h:40:5: error: invalid use of incomplete type 'class > mozilla::DOMMediaStream' > aPtr->Release(); I am guessing SpeechRecognition.h should include DOMMediaStream.h.
(In reply to Hiroyuki Ikezoe (:hiro) from comment #4) > I am guessing SpeechRecognition.h should include DOMMediaStream.h. That's all M-C, right, so who's going to fix that?
Created attachment 8845310 [details] [diff] [review] 1345771.patch Trying this now, will take an hour to complete if successful.
Or maybe that should be: #include "mozilla/DOMMediaStream.h"
DOMMediaStream.h is listed in the EXPORTS section of moz.build rather than EXPORTS.mozilla, for some reason, so it's just "DOMMediaStream.h".
Comment on attachment 8845310 [details] [diff] [review] 1345771.patch OK, so since according to the previous comment this should be OK, maybe just r+ this and I can get it landed if it works. Or would you like me to move the line up or down? I heard it's meant to be alphabetical, but that's just a myth, right?
Comment on attachment 8845310 [details] [diff] [review] 1345771.patch Review of attachment 8845310 [details] [diff] [review]: ----------------------------------------------------------------- Looks good, thanks. I wouldn't worry about the order of the includes since it's all over the place at the moment.
Thanks Cameron (fellow Ozzie?). I'll get it landed *if* it works ;-)
(In reply to Jorg K (GMT+1) from comment #11) > Thanks Cameron (fellow Ozzie?). I'll get it landed *if* it works ;-) Here it works.
Dear Sheriff, please land with: Bug 1345771 - Include DOMMediaStream.h in SpeechRecognition.h. r=heycam
Pushed by email@example.com: https://hg.mozilla.org/mozilla-central/rev/c40ca7a1bdd9 Include DOMMediaStream.h in SpeechRecognition.h r=heycam a=tomcat
Fwiw, bustage also seen on http://buildbot.rhaalovely.net/builders/comm-central-amd64/builds/1948
And the build is indeed fixed too on BSD with this m-c push: http://buildbot.rhaalovely.net/builders/comm-central-amd64/builds/1949
(In reply to Pulsebot from comment #14) > Pushed by firstname.lastname@example.org: > https://hg.mozilla.org/mozilla-central/rev/c40ca7a1bdd9 > Include DOMMediaStream.h in SpeechRecognition.h r=heycam a=tomcat This was never merged to inbound? I've been fighting bustage because of this today.
Its now been merged back to m-i. Seems to solve my problems. Sorry for the noise here.
Comment on attachment 8845310 [details] [diff] [review] 1345771.patch This is needed to un-bust android builds, per bug 1350666.
And indeed it does unbust them, so transitively that approval request is for a (not yet marked) 54 blocker.
Comment on attachment 8845310 [details] [diff] [review] 1345771.patch Fix a build bustage. Aurora54+.