Closed
Bug 799076
Opened 12 years ago
Closed 12 years ago
Unable to Build SeaMonkey (or Firefox) with VS2008SP1/VC9 since Bug 792188
Categories
(Core :: WebRTC: Signaling, defect)
Tracking
()
RESOLVED
FIXED
mozilla18
People
(Reporter: philip.chee, Assigned: jesup)
References
Details
(Whiteboard: [WebRTC], [blocking-webrtc+], [qa-])
Attachments
(1 file)
1.03 KB,
patch
|
derf
:
review+
|
Details | Diff | Splinter Review |
Build failure Building with Visual Studio 2008SP1 (VC9)
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(524) : error C2065: 'EWOULDBLOCK' : undeclared identifier
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(524) : error C2065: 'EINPROGRESS' : undeclared identifier
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(858) : error C2065: 'EWOULDBLOCK' : undeclared identifier
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(860) : error C2065: 'ENOTCONN' : undeclared identifier
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(918) : error C2065: 'EWOULDBLOCK' : undeclared identifier
c:/t1/hg/objdir-sm/mozilla/media/webrtc/signaling/signaling_sipcc/../../../../../../comm-central/mozilla/media/webrtc/signaling/src/sipcc/core/sipstack/ccsip_platform_tcp.c(1079) : error C2065: 'EWOULDBLOCK' : undeclared identifier
Putting the following in /media/webrtc/signaling/src/sipcc/cpr/include/cpr_errno.h allows my build to continue.
#ifndef EWOULDBLOCK
#define EWOULDBLOCK WSAEWOULDBLOCK
#endif
#ifndef EINPROGRESS
#define EINPROGRESS WSAEINPROGRESS
#endif
#ifndef ENOTCONN
#define ENOTCONN WSAENOTCONN
#endif
For some reason putting this in:
/media/webrtc/signaling/src/sipcc/cpr/win32/cpr_win_errno.c
didn't work.
Assignee | ||
Comment 1•12 years ago
|
||
Should work in cpr_win_errno.h... The function in the .c file isn't actually used anywhere in the current code (and was mostly for printing debugs from comments in cpr_linux_errno.c
The right place is cpr_win_errno.h
Hardware: x86_64 → All
Assignee | ||
Comment 2•12 years ago
|
||
Updated•12 years ago
|
Summary: Unable to Build SeaMonkey with VS2008SP1/VC9 since Bug 792188 → Unable to Build SeaMonkey (or Firefox) with VS2008SP1/VC9 since Bug 792188
Comment 3•12 years ago
|
||
Any possibility of getting this landed on m-c before the uplift?
Assignee | ||
Comment 4•12 years ago
|
||
Can you run a quick test of it?
Comment 5•12 years ago
|
||
(In reply to Randell Jesup [:jesup] from comment #4)
> Can you run a quick test of it?
My Windows build was successful using VC9 after applying this patch.
Comment 6•12 years ago
|
||
Comment on attachment 669128 [details] [diff] [review]
Add errno definitions for VC9 and below
Review of attachment 669128 [details] [diff] [review]:
-----------------------------------------------------------------
So, the issue here is that EINPROGRESS, etc., have numerical values of 1xx in MSVC 10, and this patch will give them 10xxx values under earlier compilers. This can't possibly work correctly, unless these are constants set and read solely by our own code (in which case they shouldn't be using system defines).
I'm r+'ing this on the understanding that the code that uses these defines is currently not called, and that this patch is just papering over the build problem. However, after landing, we need to either leave this bug open or file a follow-up bug on fixing this properly. Otherwise this is a landmine waiting to go off.
Attachment #669128 -
Flags: review+
Assignee | ||
Comment 7•12 years ago
|
||
Assignee | ||
Updated•12 years ago
|
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 8•12 years ago
|
||
(In reply to Timothy B. Terriberry (:derf) from comment #6)
> Comment on attachment 669128 [details] [diff] [review]
> Add errno definitions for VC9 and below
>
> Review of attachment 669128 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> So, the issue here is that EINPROGRESS, etc., have numerical values of 1xx
> in MSVC 10, and this patch will give them 10xxx values under earlier
> compilers. This can't possibly work correctly, unless these are constants
> set and read solely by our own code (in which case they shouldn't be using
> system defines).
>
> I'm r+'ing this on the understanding that the code that uses these defines
> is currently not called, and that this patch is just papering over the build
> problem. However, after landing, we need to either leave this bug open or
> file a follow-up bug on fixing this properly. Otherwise this is a landmine
> waiting to go off.
Well this should be mitigated by the fact that we ship the DLL files for the appropriate libraries so if built with VC9 should have the VC9 versions etc.
I do notice that elsewhere in the code this uses cpr_errno.h and tests against CPR_EINPROGRESS etc. Does doing that somehow normalize the codes so that this is not an issue?
Updated•12 years ago
|
Target Milestone: --- → mozilla18
Updated•12 years ago
|
Whiteboard: [WebRTC], [blocking-webrtc+] → [WebRTC], [blocking-webrtc+], [qa-]
You need to log in
before you can comment on or make changes to this bug.
Description
•