Bug 163449

Summary: [GTK] Configures but fails to link with ENABLE_OPENGL=OFF
Product: WebKit Reporter: ManDay <manday>
Component: WebKitGTKAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, cgarcia, mcatanzaro
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Output from CMake
none
Patch
none
Patch mcatanzaro: review+

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>