Skip to content

Instantly share code, notes, and snippets.

@spchamp
Created October 1, 2019 23:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spchamp/4914ed654dffeff17e2e2fa431f95557 to your computer and use it in GitHub Desktop.
Save spchamp/4914ed654dffeff17e2e2fa431f95557 to your computer and use it in GitHub Desktop.
Build failures with newer WebKit (GTK+)
When building `webkit-gtk-2.26.1` with a GTK+3 `gtk+-3.24.10`, after some update to the webkit-gtk port, e.g
~~~~
-USE_LANGUAGES= c c++11
+USE_LANGUAGES= c c++11 c++14 c++17
~~~~
... this apparently serving to obviate some build failures, but subsequently, the following build failures may occur
~~~~
FAILED: Source/WebKit/CMakeFiles/WebKit.dir/UIProcess/API/gtk/WebKitWebViewBase.cpp.o
/usr/pkgsrc/www/webkit-gtk/work.corvid.pkg/.wrapper/bin/clang++80 -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebKit -DDATADIR=\"/usr/pkg/share\" -DGETTEXT_PACKAGE>
Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:560:20: error: no member named 'sleepDisabler' in '_WebKitWebViewBasePrivate'
webView->priv->sleepDisabler = nullptr;
~~~~~~~~~~~~~ ^
1 error generated.
~~~
subsq
~~~~
[4230/4333] Building CXX object Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-20.cpp.o
FAILED: Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-20.cpp.o
/usr/pkgsrc/www/webkit-gtk/work.corvid.pkg/.wrapper/bin/clang++80 -DBUILDING_GTK__=1 -DBUILDING_WEBKIT -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebKit -DDATADIR=\"/usr/pkg/share\" -DGETTEXT_PACKAGE>
In file included from DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-20.cpp:5:
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:54:23: error: no member named 'None' in 'WebCore::MouseButton'
case MouseButton::None:
~~~~~~~~~~~~~^
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:55:23: error: no member named 'Left' in 'WebCore::MouseButton'
case MouseButton::Left:
~~~~~~~~~~~~~^
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:57:23: error: no member named 'Middle' in 'WebCore::MouseButton'
case MouseButton::Middle:
~~~~~~~~~~~~~^
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:59:23: error: no member named 'Right' in 'WebCore::MouseButton'
case MouseButton::Right:
~~~~~~~~~~~~~^
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:104:81: error: unknown type name 'MouseInteraction'; did you mean 'Inspector::Protocol::Automation::MouseInteraction'?
void WebAutomationSession::platformSimulateMouseInteraction(WebPageProxy& page, MouseInteraction interaction, MouseButton button, const WebCore::IntPoint& locationInView, OptionSet<WebEvent::M>
^~~~~~~~~~~~~~~~
Inspector::Protocol::Automation::MouseInteraction
DerivedSources/WebKit/AutomationProtocolObjects.h:421:12: note: 'Inspector::Protocol::Automation::MouseInteraction' declared here
enum class MouseInteraction {
^
~~~~
subsq. (2)
~~~~
In file included from DerivedSources/WebKit/unified-sources/UnifiedSource-88d1702b-20.cpp:5:
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:104:28: error: out-of-line definition of 'platformSimulateMouseInteraction' does not match any declaration in 'WebKit::WebAut>
void WebAutomationSession::platformSimulateMouseInteraction(WebPageProxy& page, MouseInteraction interaction, MouseButton button, const WebCore::IntPoint& locationInView, OptionSet<WebEvent::M>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:108:60: error: use of undeclared identifier 'm_currentModifiers'
unsigned state = modifiersToEventState(keyModifiers) | m_currentModifiers;
^
Source/WebKit/UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:111:10: error: use of undeclared identifier 'MouseInteraction'; did you mean 'Inspector::Protocol::Automation::MouseInteracti>
case MouseInteraction::Move:
^~~~~~~~~~~~~~~~
Inspector::Protocol::Automation::MouseInteraction
DerivedSources/WebKit/AutomationProtocolObjects.h:421:12: note: 'Inspector::Protocol::Automation::MouseInteraction' declared here
enum class MouseInteraction {
^
[...]
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[4231/4333] [...]
~~~~
TBD: Whether this may be addressed with any update to GTK+3 that does not build a GTK+4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment