Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 911663

Summary: net-libs/webkit-gtk-2.40.5-r600: error: invalid use of incomplete type 'class WebCore::FrameLoader'
Product: Gentoo Linux Reporter: Michael Orlitzky <mjo>
Component: Current packagesAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: dan, dennisn, johannes.hirte
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
URL: https://github.com/WebKit/WebKit/pull/16398
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log.xz
patch

Description Michael Orlitzky gentoo-dev 2023-08-03 15:34:03 UTC
Created attachment 866951 [details]
build.log.xz

$ emerge -pv1 webkit-gtk
...
[ebuild     U ~] net-libs/webkit-gtk-2.40.5-r600:6/0::gentoo [2.40.3-r600:6/0::gentoo] USE="X introspection jpeg2k jumbo-build (seccomp) spell (-aqua) -avif -examples -gamepad -gles2-only -gstreamer -keyring -lcms -pdf -systemd -wayland" 0 KiB


The error(s):

In file included from /var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5_build/WebCore/DerivedSources/unified-sources/UnifiedSource-c57e08af-5.cpp:2:
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp: In function 'bool WebCore::MixedContentChecker::frameAndAncestorsCanDisplayInsecureContent(WebCore::Frame&, ContentType, const WTF::URL&)':
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp:92:21: error: invalid use of incomplete type 'class WebCore::FrameLoader'
   92 |         frame.loader().client().didDisplayInsecureContent();
      |         ~~~~~~~~~~~~^~
In file included from /var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp:35:
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/page/Frame.h:79:7: note: forward declaration of 'class WebCore::FrameLoader'
   79 | class FrameLoader;
      |       ^~~~~~~~~~~
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp: In function 'bool WebCore::MixedContentChecker::frameAndAncestorsCanRunInsecureContent(WebCore::Frame&, WebCore::SecurityOrigin&, const WTF::URL&, ShouldLogWarning)':
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp:112:21: error: invalid use of incomplete type 'class WebCore::FrameLoader'
  112 |         frame.loader().client().didRunInsecureContent(securityOrigin, url);
      |         ~~~~~~~~~~~~^~
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/page/Frame.h:79:7: note: forward declaration of 'class WebCore::FrameLoader'
   79 | class FrameLoader;
      |       ^~~~~~~~~~~
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp: In function 'void WebCore::MixedContentChecker::checkFormForMixedContent(WebCore::Frame&, const WTF::URL&)':
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/loader/MixedContentChecker.cpp:131:17: error: invalid use of incomplete type 'class WebCore::FrameLoader'
  131 |     frame.loader().client().didDisplayInsecureContent();
      |     ~~~~~~~~~~~~^~
/var/lib/portage/tmp/portage/net-libs/webkit-gtk-2.40.5-r600/work/webkitgtk-2.40.5/Source/WebCore/page/Frame.h:79:7: note: forward declaration of 'class WebCore::FrameLoader'
   79 | class FrameLoader;
      |       ^~~~~~~~~~~
Comment 1 Francois Chenier 2023-08-04 06:53:14 UTC
Same problem with net-libs/webkit-gtk-2.40.5-r410

Building with jumbo-build flag disabled doesn't make any difference.
Comment 2 Matt Turner gentoo-dev 2023-08-04 16:44:11 UTC
Created attachment 867034 [details, diff]
patch

This patch fixes it.
Comment 3 Matt Turner gentoo-dev 2023-08-04 17:04:24 UTC
Occurs with 2.40.5 and 2.40.5-r410 as well.
Comment 4 Matt Turner gentoo-dev 2023-08-04 18:22:08 UTC
Caused by USE=-gstreamer.
Comment 5 Michael Orlitzky gentoo-dev 2023-08-06 20:49:52 UTC
The patch works, thanks. And with sandbox-2.38 the build time is back to normal.
Comment 6 Pavol Cvengros 2023-08-07 08:00:26 UTC
Hi, patch works partially. After patch I am getting linking error:

[12580/12588] : && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O2 -pipe -march=rocketlake -mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=12288 -fno-strict-aliasing -fno-exceptions -fno-rtti  -Wl,--no-undefined -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--disable-new-dtags   -Wl,--version-script,/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/work/webkitgtk-2.40.5/Source/WebKit/webkitglib-symbols.map -shared -Wl,-soname,libwebkit2gtk-4.1.so.0 -o lib/libwebkit2gtk-4.1.so.0.8.5 @CMakeFiles/WebKit.rsp  && :
FAILED: lib/libwebkit2gtk-4.1.so.0.8.5 
: && /usr/bin/x86_64-pc-linux-gnu-g++ -fPIC -fdiagnostics-color=always -Wextra -Wall -pipe -fmax-errors=20 -Wno-odr -Wno-stringop-overread -Wno-stringop-overflow -Wno-nonnull -Wno-array-bounds -Wno-expansion-to-defined -Wno-noexcept-type -Wno-psabi -Wno-misleading-indentation -Wno-maybe-uninitialized -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -Wno-tautological-compare -O2 -pipe -march=rocketlake -mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=12288 -fno-strict-aliasing -fno-exceptions -fno-rtti  -Wl,--no-undefined -Wl,-O1 -Wl,--as-needed -Wl,--no-keep-memory -Wl,--disable-new-dtags   -Wl,--version-script,/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/work/webkitgtk-2.40.5/Source/WebKit/webkitglib-symbols.map -shared -Wl,-soname,libwebkit2gtk-4.1.so.0 -o lib/libwebkit2gtk-4.1.so.0.8.5 @CMakeFiles/WebKit.rsp  && :
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: Source/WebCore/CMakeFiles/WebCore.dir/./loader/MixedContentChecker.cpp.o: in function `WebCore::foundMixedContentInFrameTree(WebCore::Frame const&, WTF::URL const&)':
MixedContentChecker.cpp:(.text+0xd7): undefined reference to `WebCore::FrameDestructionObserver::frame() const'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
 * ERROR: net-libs/webkit-gtk-2.40.5-r410::gentoo failed (compile phase):
 *   ninja -v -j8 -l0 failed
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 3717:  Called cmake_src_compile
 *   environment, line 1580:  Called cmake_build
 *   environment, line 1546:  Called eninja
 *   environment, line 2018:  Called die
 * The specific snippet of code:
 *       "$@" || die -n "${*} failed"
 * 
 * If you need support, post the output of `emerge --info '=net-libs/webkit-gtk-2.40.5-r410::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-libs/webkit-gtk-2.40.5-r410::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/temp/environment'.
 * Working directory: '/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/work/webkitgtk-2.40.5_build'
 * S: '/var/tmp/portage/net-libs/webkit-gtk-2.40.5-r410/work/webkitgtk-2.40.5'
Comment 7 Larry the Git Cow gentoo-dev 2023-08-09 18:07:33 UTC
The bug has been closed via the following commit(s):

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

commit 82b844e81dc6416ba68a67315ded3f75aeef8789
Author:     Matt Turner <mattst88@gentoo.org>
AuthorDate: 2023-08-09 18:00:36 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2023-08-09 18:07:30 +0000

    net-libs/webkit-gtk: Fix build with USE=-gstreamer
    
    Closes: https://bugs.gentoo.org/911663
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 ...ailure-when-gstreamer-support-is-disabled.patch | 33 ++++++++++++++++++++++
 net-libs/webkit-gtk/webkit-gtk-2.40.5-r410.ebuild  |  6 ++++
 net-libs/webkit-gtk/webkit-gtk-2.40.5-r600.ebuild  |  6 ++++
 net-libs/webkit-gtk/webkit-gtk-2.40.5.ebuild       |  6 ++++
 4 files changed, 51 insertions(+)
Comment 8 Dennis Nezic 2023-08-21 03:29:34 UTC
*** Bug 912681 has been marked as a duplicate of this bug. ***