Bug 163449 - [GTK] Configures but fails to link with ENABLE_OPENGL=OFF
Summary: [GTK] Configures but fails to link with ENABLE_OPENGL=OFF
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-14 09:49 PDT by ManDay
Modified: 2016-10-20 22:33 PDT (History)
3 users (show)

See Also:


Attachments
Output from CMake (9.38 KB, text/plain)
2016-10-15 02:59 PDT, ManDay
no flags Details
Patch (20.26 KB, patch)
2016-10-20 08:27 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Patch (20.63 KB, patch)
2016-10-20 08:35 PDT, Carlos Garcia Campos
mcatanzaro: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description ManDay 2016-10-14 09:49:04 PDT
On native wayland (therefore only GLES2 with current mesa), the following (apparently nonsensical) combination of flags passes configuration but ultimately fails to link:

cmake -DENABLE_GLES2=ON -DENABLE_OPENGL=OFF
Comment 1 Michael Catanzaro 2016-10-14 11:02:59 PDT
(In reply to comment #0)
> On native wayland (therefore only GLES2 with current mesa), the following
> (apparently nonsensical) combination of flags passes configuration but
> ultimately fails to link:
> 
> cmake -DENABLE_GLES2=ON -DENABLE_OPENGL=OFF

OK, really? Because when we discussed this in IRC, I thought we decided you had not been passing -DENABLE_GLES2=ON at all. We do have code to ensure CMake throws an error if you try this configuration. Please, post the full output of CMake, down through the feature list.
Comment 2 Carlos Garcia Campos 2016-10-14 11:06:13 PDT
(In reply to comment #0)
> On native wayland (therefore only GLES2 with current mesa),

This is not accurate either, you can use wayland with EGL + opengl es API, which is the default if you don't pass -DENABLE_GLES2=ON

> the following
> (apparently nonsensical) combination of flags passes configuration but
> ultimately fails to link:
> 
> cmake -DENABLE_GLES2=ON -DENABLE_OPENGL=OFF

What is broken is -DENABLE_OPENGL=OFF
Comment 3 ManDay 2016-10-15 02:59:51 PDT
Created attachment 291712 [details]
Output from CMake

Here is the complete configuration pass from 1.14.1 with

cmake -DPORT=GTK -DCMAKE_BUILD_TYPE=Release -DENABLE_ACCESSIBILITY=OFF -DENABLE_CHANNEL_MESSAGING=OFF -DENABLE_CSS3_TEXT=ON -DENABLE_GEOLOCATION=OFF -DENABLE_INTROSPECTION=OFF -DENABLE_FTPDIR=ON -DENABLE_MEDIA_SOURCE=ON -DENABLE_MINIBROWSER=ON -DENABLE_NOTIFICATIONS=OFF -DUSE_LD_GOLD=OFF -DUSE_LIBHYPHEN=OFF -DUSE_LIBNOTIFY=OFF -DENABLE_CREDENTIAL_STORAGE=OFF -DENABLE_SPELLCHECK=OFF -DCMAKE_INSTALL_PREFIX="$HOME/local" -DENABLE_OPENGL=OFF -DENABLE_GLES2=ON -DENABLE_WEB_REPLAY=ON -DENABLE_WEB_ANIMATIONS=ON -DENABLE_PLUGIN_PROCESS_GTK2=OFF ..
Comment 4 Michael Catanzaro 2016-10-15 07:24:07 PDT
I see:

-- Disabling ENABLE_GLES2 since ENABLE_OPENGL is disabled.

And in the feature list:

--  ENABLE_GLES2 .......................... OFF

So our feature dependency checking is working properly; it's not possible to use this combination of flags. We should just fix (or remove) the -DENABLE_OPENGL=OFF build.

Anyway, please post the linker error here. It's not really useful to have a build failure bug report without the build failure. :)
Comment 5 Carlos Garcia Campos 2016-10-20 08:27:39 PDT
Created attachment 292197 [details]
Patch
Comment 6 Carlos Garcia Campos 2016-10-20 08:35:02 PDT
Created attachment 292198 [details]
Patch
Comment 7 Carlos Garcia Campos 2016-10-20 22:33:48 PDT
Committed r207658: <http://trac.webkit.org/changeset/207658>