Closed Bug 753895 Opened 12 years ago Closed 12 years ago

WebRTC won't build on Win64

Categories

(Core :: WebRTC, defect)

x86_64
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jesup, Assigned: jesup)

References

Details

(Whiteboard: [qa-])

Attachments

(2 files)

c:\tools\msvs10\vc\include\crtdefs.h(463) : fatal error C1189: #error :  You cannot use 32-bit time_t (_USE_32BIT_TIME_T) with _WIN64

Turns out we don't use utime() or wutime()...

Patch asap
https://hg.mozilla.org/projects/alder/rev/baf25d48d75e

Note that this will resolve the first-level problem (_USE_32BIT_TIME_T), leaving:

gkmedias.exp : error LNK2001: unresolved external symbol "public: static class webrtc::VideoEngine * __cdecl webrtc::VideoEngine::Create(void)" (?Create@VideoEngine@webrtc@@SAPAV12@XZ)
gkmedias.exp : error LNK2001: unresolved external symbol "public: static bool __cdecl webrtc::VideoEngine::Delete(class webrtc::VideoEngine * &)" (?Delete@VideoEngine@webrtc@@SA_NAAPAV12@@Z)
gkmedias.exp : error LNK2001: unresolved external symbol "public: static class webrtc::ViEBase * __cdecl webrtc::ViEBase::GetInterface(class webrtc::VideoEngine *)" (?GetInterface@ViEBase@webrtc@@SAPAV12@PAVVideoEngine@2@@Z)
gkmedias.exp : error LNK2001: unresolved external symbol "public: static class webrtc::ViECapture * __cdecl webrtc::ViECapture::GetInterface(class webrtc::VideoEngine *)" (?GetInterface@ViECapture@webrtc@@SAPAV12@PAVVideoEngine@2@@Z)
gkmedias.exp : error LNK2001: unresolved external symbol "public: static class webrtc::ViERender * __cdecl webrtc::ViERender::GetInterface(class webrtc::VideoEngine *)" (?GetInterface@ViERender@webrtc@@SAPAV12@PAVVideoEngine@2@@Z)

It is a REAL pain to set up a x64 Windows build setup without a paid-for copy of VS.  Thus far I've been unable to do so using VS2010 Express and using the platform SDK 7.1 to get the x64 compilers - I end up with mspdb100.dll not found.  (including uninstalling all of 2010 and re-installing that and the SDK)
I never tried a Win64 build with my GYP backend, so it's possible there are some things missing in the build config.
Attachment #626125 - Flags: review?(ted.mielczarek)
Attachment #622804 - Flags: review?(ted.mielczarek)
Comment on attachment 626125 [details] [diff] [review]
Win x64 needs different mangled names in symbols.def.in

Review of attachment 626125 [details] [diff] [review]:
-----------------------------------------------------------------

This sucks, but at least the set of differences is small.
Attachment #626125 - Flags: review?(ted.mielczarek) → review+
Comment on attachment 622804 [details] [diff] [review]
Remove unneeded _USE_32BIT_TIME_T from libjingle.gyp

Review of attachment 622804 [details] [diff] [review]:
-----------------------------------------------------------------

::: media/webrtc/trunk/third_party/libjingle/libjingle.gyp
@@ +19,5 @@
>      'defines': [
>        'FEATURE_ENABLE_SSL',
>        'FEATURE_ENABLE_VOICEMAIL',  # TODO(ncarter): Do we really need this?
> +# breaks builds on Win64; plus no code calls _utime() or _wutime()
> +#      '_USE_32BIT_TIME_T',

I'd say just remove it unless you have a compelling reason.
Attachment #622804 - Flags: review?(ted.mielczarek) → review+
Assignee: nobody → rjesup
https://hg.mozilla.org/projects/alder/rev/91401b6eead7

Leaving the comment-out of the USE_32BIT_TIME_T until they remove it from the upstream - avoids confusion on updates
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [qa-]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: