[Webkit-unassigned] [Bug 254976] New: m_displayForCompositing used when PLATFORM(GTK) but declared only when PLATFORM(WAYLAND)

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Apr 4 00:20:18 PDT 2023


https://bugs.webkit.org/show_bug.cgi?id=254976

            Bug ID: 254976
           Summary: m_displayForCompositing used when PLATFORM(GTK) but
                    declared only when PLATFORM(WAYLAND)
           Product: WebKit
           Version: WebKit Local Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKitGTK
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: balducci at units.it
                CC: bugs-noreply at webkitgtk.org

hello

running on linux (specs enclosed below)

While building 2.41.1  with the configuration:

    ----8<----
    -DPORT=GTK
    -DCMAKE_BUILD_TYPE=Release
    -DENABLE_CREDENTIAL_STORAGE=OFF
    -DENABLE_GEOLOCATION=OFF
    -DUSE_LIBNOTIFY=OFF
    -DUSE_LIBHYPHEN=OFF
    -DENABLE_FTL_JIT=ON
    -DUSE_WOFF2=OFF
    -DENABLE_JIT=ON
    -DUSE_OPENJPEG:BOOL=OFF
    -DUSE_WPE_RENDERER:BOOL=OFF
    -DENABLE_BUBBLEWRAP_SANDBOX=OFF
    -DUSE_SYSTEMD=OFF
    -DENABLE_GAMEPAD=OFF
    -DUSE_LD_GOLD:BOOL=OFF
    -DUSE_SOUP2=OFF
    -DENABLE_JOURNALD_LOG=OFF
    -DENABLE_WAYLAND_TARGET=OFF
    -DUSE_AVIF=OFF
    ---->8----

got:

    ----8<----
    FAILED: Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-43.cpp.o 
    /usr/bin/g++  -m64 -DBUILDING_GTK__=1 -DBUILDING_WEBKIT=1 -DBUILDING_WITH_CMAKE=1 -DBUILDING_WebKit -DDATADIR=\"/opt/stow.d/versions/webkitgtk-2.41.1/usr/share\" -DGETTEXT_PACKAGE=\"WebKitGTK-4.1\"
    [...huge number of includes and other g++ options...]
    -MF Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-43.cpp.o.d -o Source/WebKit/CMakeFiles/WebKit.dir/__/__/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-43.cpp.o -c /home/balducci/tmp/install-us-d/webkitgtk-2.41.1.d/webkitgtk-2.41.1/.build/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-43.cpp
    In file included from /home/balducci/tmp/install-us-d/webkitgtk-2.41.1.d/webkitgtk-2.41.1/.build/DerivedSources/WebKit/unified-sources/UnifiedSource-54928a2b-43.cpp:5:
    /home/balducci/tmp/install-us-d/webkitgtk-2.41.1.d/webkitgtk-2.41.1/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp: In member function ‘void WebKit::WebProcess::platformInitializeWebProcess(WebKit::WebProcessCreationParameters&)’:
    /home/balducci/tmp/install-us-d/webkitgtk-2.41.1.d/webkitgtk-2.41.1/Source/WebKit/WebProcess/glib/WebProcessGLib.cpp:128:9: error: ‘m_displayForCompositing’ was not declared in this scope
      128 |         m_displayForCompositing = WebCore::PlatformDisplayHeadless::create();
          |         ^~~~~~~~~~~~~~~~~~~~~~~
    ---->8----

m_displayForCompositing is declared in WebProcess.h, but only when
PLATFORM(WAYLAND):

    ----8<----
    #if PLATFORM(WAYLAND)
        std::unique_ptr<WebCore::PlatformDisplay> m_displayForCompositing;
    #endif
    ---->8----

where in WebProcessGLib.cpp I find:

    ----8<----
    #if PLATFORM(GTK) && USE(EGL)
        if (parameters.useDMABufSurfaceForCompositing)
            m_displayForCompositing = WebCore::PlatformDisplayHeadless::create();
    #endif
    ---->8----

Trying to force declaration of m_displayForCompositing in WebProcess.h with:
    ----8<----
    #if PLATFORM(WAYLAND) || PLATFORM(GTK)
        std::unique_ptr<WebCore::PlatformDisplay> m_displayForCompositing;
    #endif
    ---->8----

passes the above _failure, but then I get other _errors
(unfortunately I did not collect them)

The only way I could fix the build was to comment the use of
m_displayForCompositing alltogether (but, of course, I don't know if
this is an acceptable workaround)

thanks for any hint/help

ciao
-gabriele


===========================================================================

tmpsh:20> uname -srvmo
Linux 6.2.8 #1 SMP Thu Mar 23 07:58:54 CET 2023 x86_64 GNU/Linux

install:1023> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/opt/stow.d/versions/gcc-12.2.0/usr/lib64/gcc/x86_64-pc-linux-gnu/12.2.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /home/balducci/tmp/install-us-d/gcc-12.2.0.d/gcc-12.2.0/configure --prefix=/opt/stow.d/versions/gcc-12.2.0/usr --libdir=/opt/stow.d/versions/gcc-12.2.0/usr/lib64 --libexecdir=/opt/stow.d/versions/gcc-12.2.0/usr/lib64 --enable-shared --disable-bootstrap --enable-languages=c,c++,objc,fortran --enable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (GCC) 

install:1024> cmake --version
cmake version 3.26.2


tmpsh:24> ninja --version
1.11.1

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230404/021b1f17/attachment-0001.htm>


More information about the webkit-unassigned mailing list