Closed
Bug 773454
Opened 13 years ago
Closed 13 years ago
WebRTC tests fail to build using visual studio 2012
Categories
(Core :: WebRTC, defect)
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: jimm, Assigned: TimAbraldes)
References
Details
(Whiteboard: [qa-])
Attachments
(1 file)
|
1.35 KB,
patch
|
ted
:
review+
|
Details | Diff | Splinter Review |
A long series of errors similar to these:
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/gtest-printers.h(550) : error C2977: 'std::tuple' : too many template arguments
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\utility(73) : see declaration of 'std::tuple'
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/gtest-printers.h(558) : error C2977: 'std::tuple' : too many template arguments
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\utility(73) : see declaration of 'std::tuple'
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util-generated.h(4017) : error C2977: 'std::tuple' : too many template arguments
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\utility(73) : see declaration of 'std::tuple'
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util-generated.h(4249) : see reference to class template instantiation 'testing::internal::CartesianProductGenerator9<T1,T2,T3,T4,T5,T6,T7,T8,T9>' being compiled
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util-generated.h(4017) : error C3203: 'tuple' : unspecialized class template can't be used as a template argument for template parameter 'T', expected a real type
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util-generated.h(4017) : error C2955: 'std::tuple' : use of class template requires template argument list
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\INCLUDE\utility(73) : see declaration of 'std::tuple'
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util-generated.h(4017) : error C2955: 'testing::internal::ParamGeneratorInterface' : use of class template requires template argument list
f:\Mozilla\firefox\mc\media\webrtc\trunk\testing\gtest\include\gtest/internal/gtest-param-util.h(142) : see declaration of 'testing::internal::ParamGeneratorInterface'
Comment 1•13 years ago
|
||
Are the problems all in gtest?
| Reporter | ||
Comment 2•13 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #1)
> Are the problems all in gtest?
Yes, if I clip trunk/testing out of the root makefile the library builds successfully. Do we rely on these tests?
Comment 3•13 years ago
|
||
I wonder if these have been fixed in upstream gtest? If not, we can probably get them fixed.
| Assignee | ||
Comment 4•13 years ago
|
||
These are caused by a change in VS2012. Basically, variadic macros support fewer arguments in VS2012RC than they did in previous version of VS. Defining `_VARIADIC_MAX` to be 10 might solve this issue.
From [1]:
"Spamming out so many pair-tuple overloads, plus all of the emplacement overloads, consumed a massive amount of memory during compilation. Therefore, we reduced infinity. In Visual C++ 2008 SP1 and Visual C++ 2010, infinity was 10 (that is, "variadic" templates supported 0 to 10 arguments, inclusive). By default, infinity is 5 in Visual C++ in Visual Studio 2012 RC. This brings compiler memory consumption back to what it was in Visual C++ 2010. If you need more arguments (for example, if you have existing code that uses 6-tuples), there is an escape hatch. You can define _VARIADIC_MAX project-wide between 5 and 10 inclusive. This consumes more memory, and may require that you use the /Zm compiler option to reserve more space for pre-compiled headers."
[1] http://msdn.microsoft.com/en-us/library/hh567368%28v=vs.110%29.aspx
| Assignee | ||
Comment 5•13 years ago
|
||
The attached patch seems to fix my local builds. Ted; are you the right person to review this?
Assignee: nobody → tabraldes
Status: NEW → ASSIGNED
Attachment #642032 -
Flags: review?(ted.mielczarek)
| Assignee | ||
Comment 6•13 years ago
|
||
This has run through tryserver:
https://tbpl.mozilla.org/?tree=Try&rev=6d7d2c9d94d4
Comment 7•13 years ago
|
||
Comment on attachment 642032 [details] [diff] [review]
Patch v1
Review of attachment 642032 [details] [diff] [review]:
-----------------------------------------------------------------
This seems reasonable. We'll want to get this upstream, but I'm not sure what our process is there currently.
Attachment #642032 -
Flags: review?(ted.mielczarek) → review+
Comment 8•13 years ago
|
||
(In reply to Ted Mielczarek [:ted] from comment #7)
> This seems reasonable. We'll want to get this upstream, but I'm not sure
> what our process is there currently.
http://www.webrtc.org/reference/contributing
| Assignee | ||
Comment 9•13 years ago
|
||
I filed this issue at the webrtc site and attached the patch from this bug (modified to apply correctly using the gclient set of tools):
http://code.google.com/p/webrtc/issues/detail?id=683
| Assignee | ||
Comment 10•13 years ago
|
||
Pushed to inbound and marking as "leave open": We'll want to back out this patch when an upstream fix is available.
https://hg.mozilla.org/integration/mozilla-inbound/rev/41308088db55
Whiteboard: [leave open]
Target Milestone: --- → mozilla17
Comment 11•13 years ago
|
||
Thanks tim - I'll track it
Comment 12•13 years ago
|
||
Updated•13 years ago
|
QA Contact: jsmith
Comment 13•13 years ago
|
||
It appears webrtc.org won't be taking this, so we'll need to carry the patch in our tree. Closing.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•13 years ago
|
Whiteboard: [leave open] → [qa-]
| Assignee | ||
Comment 14•11 years ago
|
||
I got an email saying that this has been fixed upstream [1]. Do we now want to back out the fix for this?
[1] http://code.google.com/p/webrtc/issues/detail?id=683
You need to log in
before you can comment on or make changes to this bug.
Description
•