WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
147559
[GTK]
r186800
broke the build on Ubuntu 14.04
https://bugs.webkit.org/show_bug.cgi?id=147559
Summary
[GTK] r186800 broke the build on Ubuntu 14.04
Csaba Osztrogonác
Reported
2015-08-03 08:38:37 PDT
After
http://trac.webkit.org/changeset/186800
I got the following build error on my Ubuntu 14.04 (with Clang 3.5 compiler) -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so CMake Error at Source/cmake/OptionsGTK.cmake:423 (message): Recompile GTK+ with Wayland backend to use ENABLE_WAYLAND_TARGET Call Stack (most recent call first): CMakeLists.txt:164 (include) -- Configuring incomplete, errors occurred! See also "/home/webkit/WebKit/WebKitBuild/Release/CMakeFiles/CMakeOutput.log". See also "/home/webkit/WebKit/WebKitBuild/Release/CMakeFiles/CMakeError.log". It seems GTK3_SUPPORTS_WAYLAND is false for some reason. Is it possible to make the build work or should I disable Wayland?
Attachments
Patch
(4.08 KB, patch)
2015-08-24 11:47 PDT
,
Michael Catanzaro
no flags
Details
Formatted Diff
Diff
Patch
(4.07 KB, patch)
2015-08-25 09:09 PDT
,
Michael Catanzaro
no flags
Details
Formatted Diff
Diff
Patch
(4.32 KB, patch)
2015-08-25 09:34 PDT
,
Michael Catanzaro
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Carlos Garcia Campos
Comment 1
2015-08-03 08:51:54 PDT
So, ubuntu builds GTK+ without wayland support, I guess we should detect that. We can get that info from the targets variable of the pkg-config file.
Csaba Osztrogonác
Comment 2
2015-08-03 10:36:02 PDT
One more thing, I tested the build on Ubuntu 15.04 too, the build works fine.
Michael Catanzaro
Comment 3
2015-08-03 13:19:14 PDT
(In reply to
comment #1
)
> So, ubuntu builds GTK+ without wayland support, I guess we should detect > that.
That's what we were doing until
r185788
when I intentionally removed that behavior. I somewhat prefer requiring the user to explicitly disable the Wayland backend. But I think it's reasonable to autodetect it, since there's no way autodetection could cause the feature to be disabled accidentally; if your GTK+ has no Wayland support then you really don't need WebKitGTK+ to have it either. The same argument could be made to support how we currently handle CairoGL.
Michael Catanzaro
Comment 4
2015-08-03 13:24:30 PDT
(In reply to
comment #1
)
> We can get that info from the targets variable of the pkg-config file.
You already have GTK3_SUPPORTS_X11 and GTK3_SUPPORTS_WAYLAND, so the thing to do is to check them and set ENABLE_X11_TARGET and ENABLE_WAYLAND_TARGET accordingly. This has to be done after calling find_package(GTK3) and *before* calling WEBKIT_OPTION_END. This will require dropping the required GTK+ version from the call to find_package, since it's not possible to know until after WEBKIT_OPTION_END, and then checking it manually in an if statement using the VERSION_LESS operator after WEBKIT_OPTION_END.
Carlos Garcia Campos
Comment 5
2015-08-03 22:28:37 PDT
(In reply to
comment #4
)
> (In reply to
comment #1
) > > We can get that info from the targets variable of the pkg-config file. > > You already have GTK3_SUPPORTS_X11 and GTK3_SUPPORTS_WAYLAND, so the thing > to do is to check them and set ENABLE_X11_TARGET and ENABLE_WAYLAND_TARGET > accordingly. This has to be done after calling find_package(GTK3) and > *before* calling WEBKIT_OPTION_END. This will require dropping the required > GTK+ version from the call to find_package, since it's not possible to know > until after WEBKIT_OPTION_END, and then checking it manually in an if > statement using the VERSION_LESS operator after WEBKIT_OPTION_END.
Could you write a patch instead of telling us how to do it? :-)
Michael Catanzaro
Comment 6
2015-08-04 05:38:54 PDT
Of course :) but you have to wait until my trip is done; if you get impatient, there is your solution.
Carlos Alberto Lopez Perez
Comment 7
2015-08-17 15:46:03 PDT
(In reply to
comment #0
)
> After
http://trac.webkit.org/changeset/186800
I got the following > build error on my Ubuntu 14.04 (with Clang 3.5 compiler) > > -- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so > CMake Error at Source/cmake/OptionsGTK.cmake:423 (message): > Recompile GTK+ with Wayland backend to use ENABLE_WAYLAND_TARGET > Call Stack (most recent call first): > CMakeLists.txt:164 (include) > > > -- Configuring incomplete, errors occurred! > See also > "/home/webkit/WebKit/WebKitBuild/Release/CMakeFiles/CMakeOutput.log". > See also "/home/webkit/WebKit/WebKitBuild/Release/CMakeFiles/CMakeError.log". > > > It seems GTK3_SUPPORTS_WAYLAND is false for some reason. Is > it possible to make the build work or should I disable Wayland?
I think this may get fixed just by doing: $ rm -fr WebKitBuild $ Tools/gtk/install-dependencies $ Tools/Scripts/update-webkitgtk-libs We ship GTK+-3.16 on the JHBuild, but the Wayland headers have to be installed _before_ building the GTK+ we ship in the JHBuild. Otherwise the configure script of GTK+ will disable the support for wayland.
Michael Catanzaro
Comment 8
2015-08-22 09:04:35 PDT
(In reply to
comment #7
)
> I think this may get fixed just by doing: > > $ rm -fr WebKitBuild > $ Tools/gtk/install-dependencies > $ Tools/Scripts/update-webkitgtk-libs > > We ship GTK+-3.16 on the JHBuild, but the Wayland headers have to be > installed _before_ building the GTK+ we ship in the JHBuild. Otherwise the > configure script of GTK+ will disable the support for wayland.
This was a one-time issue caused by running install-dependencies before Wayland support was added. I don't think we need to change anything here. But I will change PlatformGTK.cmake to allow automagic detection of X11/Wayland support.
Csaba Osztrogonác
Comment 9
2015-08-24 02:02:42 PDT
(In reply to
comment #8
)
> (In reply to
comment #7
) > > I think this may get fixed just by doing: > > > > $ rm -fr WebKitBuild > > $ Tools/gtk/install-dependencies > > $ Tools/Scripts/update-webkitgtk-libs > > > > We ship GTK+-3.16 on the JHBuild, but the Wayland headers have to be > > installed _before_ building the GTK+ we ship in the JHBuild. Otherwise the > > configure script of GTK+ will disable the support for wayland. > > This was a one-time issue caused by running install-dependencies before > Wayland support was added. I don't think we need to change anything here. > But I will change PlatformGTK.cmake to allow automagic detection of > X11/Wayland support.
Unfortunately it didn't fix the issue for me, GTK is still built without Wayland support for some reason. ... checking for wayland-scanner... /usr/bin/wayland-scanner checking for WAYLAND_DEPENDENCIES... no ... GTK+ 3.16.4 =========== GDK backends: x11 X11 extensions: XKB Xinerama XI2.2 XRANDR XFIXES Composite DAMAGE Print backends: file lpr Dynamic modules: yes Included immodules: none colord support: no libcanberra support: no Introspection: yes Debugging: minimum Documentation: no ... GTK's config.log ----------------- ... configure:20330: checking for wayland-scanner configure:20348: found /usr/bin/wayland-scanner configure:20361: result: /usr/bin/wayland-scanner configure:20370: $PKG_CONFIG --exists --print-errors "$WAYLAND_DEPENDENCIES" Requested 'wayland-client >= 1.5.91' but version of Wayland Client is 1.4.0 Requested 'wayland-cursor >= 1.5.91' but version of Wayland Cursor is 1.4.0 configure:20373: $? = 1 configure:20379: checking for WAYLAND_DEPENDENCIES configure:20386: result: no ... It seems the problem is that 14.04 ships older wayland than GTK+ need.
Michael Catanzaro
Comment 10
2015-08-24 11:47:13 PDT
Created
attachment 259760
[details]
Patch
Michael Catanzaro
Comment 11
2015-08-24 11:48:01 PDT
(Please do test on Ubuntu; I have not built GTK+ without the Wayland backend.)
Csaba Osztrogonác
Comment 12
2015-08-24 11:53:48 PDT
(In reply to
comment #11
)
> (Please do test on Ubuntu; I have not built GTK+ without the Wayland > backend.)
thanks, will check tomorrow
Csaba Osztrogonác
Comment 13
2015-08-25 03:33:59 PDT
Comment on
attachment 259760
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=259760&action=review
> Source/cmake/OptionsGTK.cmake:80 > -WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ON) > -WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC ON) > +WEBKIT_OPTION_DEFINE(ENABLE_X11_TARGET "Whether to enable support for the X11 windowing target." PUBLIC ${ENABLE_X11_TARGET_DEFAULT}) > +WEBKIT_OPTION_DEFINE(ENABLE_WAYLAND_TARGET "Whether to enable support for the Wayland windowing target." PUBLIC ${ENABLE_WAYLAND_TARGET_DEFAULT})
I got the following error: CMake Error at Source/cmake/OptionsGTK.cmake:80 (WEBKIT_OPTION_DEFINE): WEBKIT_OPTION_DEFINE Macro invoked with incorrect arguments for macro named: WEBKIT_OPTION_DEFINE It seems ENABLE_WAYLAND_TARGET_DEFAULT is empty here and not OFF.
Michael Catanzaro
Comment 14
2015-08-25 09:09:05 PDT
Created
attachment 259851
[details]
Patch
Michael Catanzaro
Comment 15
2015-08-25 09:09:43 PDT
(Again, please test this on Ubuntu.)
Csaba Osztrogonác
Comment 16
2015-08-25 09:27:22 PDT
(In reply to
comment #15
)
> (Again, please test this on Ubuntu.)
I got the following build error: ../../Source/WebCore/platform/graphics/PlatformDisplay.cpp:69:5: error: unknown type name 'GdkDisplay' GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get()); ^ ../../Source/WebCore/platform/graphics/PlatformDisplay.cpp:69:67: error: use of undeclared identifier 'gdk_display_manager_get' GdkDisplay* display = gdk_display_manager_get_default_display(gdk_display_manager_get());
Michael Catanzaro
Comment 17
2015-08-25 09:34:32 PDT
Created
attachment 259853
[details]
Patch
Csaba Osztrogonác
Comment 18
2015-08-25 10:20:39 PDT
(In reply to
comment #17
)
> Created
attachment 259853
[details]
> Patch
It builds fine for me on 14.04.
WebKit Commit Bot
Comment 19
2015-08-25 12:13:55 PDT
Comment on
attachment 259853
[details]
Patch Clearing flags on attachment: 259853 Committed
r188929
: <
http://trac.webkit.org/changeset/188929
>
WebKit Commit Bot
Comment 20
2015-08-25 12:14:04 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug