Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 928508 - dev-qt/qtwebengine-6.7.0: gl_context_glx.cc:170:67: error: invalid use of incomplete type ‘class gl::GLSurface’
Summary: dev-qt/qtwebengine-6.7.0: gl_context_glx.cc:170:67: error: invalid use of inc...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-04-03 10:13 UTC by Michał Górny
Modified: 2024-04-03 17:33 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dev-qt:qtwebengine-6.7.0:20240403-090033.log.xz (dev-qt:qtwebengine-6.7.0:20240403-090033.log.xz,944.45 KB, application/x-xz)
2024-04-03 10:13 UTC, Michał Górny
Details
emerge --info (emerge-info.txt,7.86 KB, text/plain)
2024-04-03 10:14 UTC, Michał Górny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 10:13:40 UTC
Created attachment 889353 [details]
dev-qt:qtwebengine-6.7.0:20240403-090033.log.xz

../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/ui/gl/gl_context_glx.cc: In member function ‘virtual bool gl::GLContextGLX::Initialize(gl::GLSurface*, const gl::GLContextAttribs&)’:
../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/ui/gl/gl_context_glx.cc:170:67: error: invalid use of incomplete type ‘class gl::GLSurface’
  170 |           connection_, static_cast<GLXFBConfig>(compatible_surface->GetConfig()),
      |                                                                   ^~
In file included from ../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/ui/gl/gl_context_glx.h:10,
                 from ../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/ui/gl/gl_context_glx.cc:5:
../../../../../qtwebengine-everywhere-src-6.7.0/src/3rdparty/chromium/ui/gl/gl_context.h:51:7: note: forward declaration of ‘class gl::GLSurface’
   51 | class GLSurface;
      |       ^~~~~~~~~

and so on.
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 10:14:36 UTC
Created attachment 889354 [details]
emerge --info
Comment 2 Ionen Wolkens gentoo-dev 2024-04-03 11:18:30 UTC
Wonder if this only happens when jumbo-build is disabled? (not something I typically try). My last build USEs were similar except for enabling a few extras that have nothing to do with GLX, but then there's jumbo-build.

They did rip out some code related to GLX and think they missed a few things that ended up relying on transitive headers to keep working.

May take a while to try given my current ccache is for non-jumbo and jumbo-build takes like 2x longer for me.
Comment 3 Ionen Wolkens gentoo-dev 2024-04-03 11:19:29 UTC
(In reply to Ionen Wolkens from comment #2)
> May take a while to try given my current ccache is for non-jumbo and
> jumbo-build takes like 2x longer for me.
ccache is for jumbo I meant*
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 11:32:56 UTC
Heh, I think I switched to doing non-jumbo because that increases ccache efficiency.  Or perhaps to avoid OOMs.
Comment 5 Ionen Wolkens gentoo-dev 2024-04-03 11:44:56 UTC
(In reply to Michał Górny from comment #4)
> Heh, I think I switched to doing non-jumbo because that increases ccache
> efficiency.  Or perhaps to avoid OOMs.
About OOM, my best suggestion would be to use clang with this, the memory usage is much, much lower compared to gcc.

Unfortunately ccache doesn't work too well regardless with different version unless made it ignore arguments entirely with all these -I..<version>.. and such.
Comment 6 Ionen Wolkens gentoo-dev 2024-04-03 13:17:32 UTC
(In reply to Ionen Wolkens from comment #2)
> They did rip out some code related to GLX and think they missed a few things
> that ended up relying on transitive headers to keep working.
More specifically, *chromium* ripped out some GLX code, but then Qt restored it and I don't think it works so well together. I think Qt's plan is to get rid of it again later though.

Anyhow, my guess is that just need a

    #include "ui/gl/gl_surface.h"

Albeit I'm on [15226/42434] before I get to know if I can reproduce.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 17:02:01 UTC
(In reply to Ionen Wolkens from comment #6)
> Anyhow, my guess is that just need a
> 
>     #include "ui/gl/gl_surface.h"

Added it to `src/3rdparty/chromium/ui/gl/gl_context.h` and so far it looks good.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 17:07:21 UTC
...and it finished successfully.
Comment 9 Ionen Wolkens gentoo-dev 2024-04-03 17:27:08 UTC
Thanks, I was able to reproduce and was just waiting to check if it works but guess I can just go ahead and push if that's already confirmed.
Comment 10 Larry the Git Cow gentoo-dev 2024-04-03 17:30:34 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb7df8565d5c09d2be079b1f8433944d0fc2d090

commit bb7df8565d5c09d2be079b1f8433944d0fc2d090
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-04-03 17:23:36 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-04-03 17:23:39 +0000

    dev-qt/qtwebengine: update 6.7 patchset to fix USE=-jumbo-build
    
    6.7-5 -> 6.7-6 changes:
      Updated:
      * x11-header.patch -> glx-headers.patch (updated for bug #928508)
    
    Closes: https://bugs.gentoo.org/928508
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 dev-qt/qtwebengine/Manifest                    | 2 +-
 dev-qt/qtwebengine/qtwebengine-6.7.0.ebuild    | 2 +-
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild | 2 +-
 dev-qt/qtwebengine/qtwebengine-6.9999.ebuild   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
Comment 11 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-04-03 17:33:55 UTC
Thanks!