Bug 144692 - [WinCairo] Compile error due to undefined symbols after r183868
Summary: [WinCairo] Compile error due to undefined symbols after r183868
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-06 09:56 PDT by Carlos Garcia Campos
Modified: 2015-05-06 22:42 PDT (History)
2 users (show)

See Also:


Attachments
Speculative build fix (4.55 KB, patch)
2015-05-06 10:28 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Added new files to Windows project files. (4.37 KB, patch)
2015-05-06 15:23 PDT, peavo
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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!