Bug 144692

Summary: [WinCairo] Compile error due to undefined symbols after r183868
Product: WebKit Reporter: Carlos Garcia Campos <cgarcia>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: achristensen, peavo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Speculative build fix
none
Added new files to Windows project files. none

Description Carlos Garcia Campos 2015-05-06 09:56:10 PDT
Creating library C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release_WinCairo\lib32\WebKit.lib and object C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release_WinCairo\lib32\WebKit.exp
WebCore.lib(GLContextEGL.obj) : error LNK2001: unresolved external symbol "public: static class WebCore::PlatformDisplay & __cdecl WebCore::PlatformDisplay::sharedDisplay(void)" (?sharedDisplay@PlatformDisplay@WebCore@@SAAAV12@XZ) [C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\Source\WebKit\WebKit.vcxproj\WebKit\WebKit.vcxproj]
WebCore.lib(GLContextEGL.obj) : error LNK2001: unresolved external symbol "public: void * __thiscall WebCore::PlatformDisplay::eglDisplay(void)const " (?eglDisplay@PlatformDisplay@WebCore@@QBEPAXXZ) [C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\Source\WebKit\WebKit.vcxproj\WebKit\WebKit.vcxproj]
C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\WebKitBuild\Release_WinCairo\bin32\WebKit.dll : fatal error LNK1120: 2 unresolved externals [C:\Users\Alex\Documents\WinCairoBot\win-cairo-release\build\Source\WebKit\WebKit.vcxproj\WebKit\WebKit.vcxproj]

I've broken the build again, working on a patch now.
Comment 1 Carlos Garcia Campos 2015-05-06 10:28:23 PDT
Created attachment 252489 [details]
Speculative build fix

I don't know if there's a concept of display (or something similar) in windows, so for now I've added a dummy implementation of PlatformDisplay for windows. Hopefully, this will fix the build and I assume EGL display was created with EGL_DEFAULT_DISPLAY for platform previously.
Comment 2 Alex Christensen 2015-05-06 11:34:01 PDT
Why is WinCairo even looking for an eglDisplay?  I think this patch is the wrong way to go, but I'm not sure.  WinCairo and AppleWin should use egl for WebGL, but nothing else.
Comment 3 peavo 2015-05-06 13:18:35 PDT
I believe PlatformDisplay.cpp also should be added to the project files WebKit\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj, and WebKit\Source\WebCore\WebCore.vcxproj\WebCore.vcxproj.filters.
Comment 4 peavo 2015-05-06 13:55:16 PDT
(In reply to comment #2)
> Why is WinCairo even looking for an eglDisplay?  I think this patch is the
> wrong way to go, but I'm not sure.  WinCairo and AppleWin should use egl for
> WebGL, but nothing else.

I think WinCairo also uses it for accelerated compositing, if I'm not mistaken.
Comment 5 Alex Christensen 2015-05-06 14:12:57 PDT
Comment on attachment 252489 [details]
Speculative build fix

peavo, does this fix compiling, and is this a way we want to go?  You know more about WinCairo's accelerated compositing than I do.

r- because PlatformDisplay.* and the new header should also be added to WebCore.vcxproj and WebCore.vcxproj.filters.  Unfortunately, we haven't completely transitioned to CMake yet :(
Comment 6 peavo 2015-05-06 15:08:35 PDT
Yes, I believe it is a good patch. It fixes the build (need to add the files to the project), and does not break accelerated compositing.
Comment 7 peavo 2015-05-06 15:23:39 PDT
Created attachment 252526 [details]
Added new files to Windows project files.
Comment 8 peavo 2015-05-06 15:25:36 PDT
I attached a patch which includes the new files in the project, in case Carlos wants to add it to his patch.
Comment 9 Alex Christensen 2015-05-06 15:28:44 PDT
I'm planning to commit both of these patches at the same time, say it's by Carlos and peavo, and say it's reviewed by me.
Comment 10 Alex Christensen 2015-05-06 15:34:26 PDT
http://trac.webkit.org/changeset/183892
Comment 11 peavo 2015-05-06 22:24:48 PDT
Thanks!
Comment 12 Carlos Garcia Campos 2015-05-06 22:42:43 PDT
(In reply to comment #9)
> I'm planning to commit both of these patches at the same time, say it's by
> Carlos and peavo, and say it's reviewed by me.

Perfect, thank you!