I get the following build failure: /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/Inspector/WebInspector.cpp:170: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::PageIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/Inspector/WebInspector.cpp:170: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::ElementIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/Plugins/PluginView.cpp:1393: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::PageIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/Plugins/PluginView.cpp:1393: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::ElementIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:785: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::PageIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:785: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::ElementIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.cpp:70: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::PageIdentifierType>::ObjectIdentifier()' /var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2/Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.cpp:70: error: undefined reference to 'WTF::ObjectIdentifier<WebCore::ElementIdentifierType>::ObjectIdentifier()' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. * ERROR: net-libs/webkit-gtk-2.28.2::gentoo failed (compile phase): * ninja -v -j8 -l8 failed * * Call stack: * ebuild.sh, line 125: Called src_compile * environment, line 5029: Called cmake-utils_src_compile * environment, line 1715: Called cmake-utils_src_make * environment, line 1896: Called _cmake_ninja_src_make * environment, line 611: Called eninja * environment, line 2249: Called die * The specific snippet of code: * "$@" || die "${nonfatal_args[@]}" "${*} failed" * * If you need support, post the output of `emerge --info '=net-libs/webkit-gtk-2.28.2::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-libs/webkit-gtk-2.28.2::gentoo'`. * The complete build log is located at '/var/log/portage/build/net-libs/webkit-gtk-2.28.2:20200525-203139.log.gz'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/net-libs/webkit-gtk-2.28.2/temp/build.log.gz'. * The ebuild environment file is located at '/var/tmp/portage/net-libs/webkit-gtk-2.28.2/temp/environment'. * Working directory: '/var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkit-gtk-2.28.2_build' * S: '/var/tmp/portage/net-libs/webkit-gtk-2.28.2/work/webkitgtk-2.28.2' The build log is quite large, about 870kB. Should I attach to this bug report?
Created attachment 641792 [details] emerge-info.txt.gz
I think the problem is related to gcc-7 while building with gcc-8 works
(In reply to Fabio Rossi from comment #2) > I think the problem is related to gcc-7 while building with gcc-8 works Can you try without -ggdb, and with gcc 9? Please attach at least the top of, and then the last 250-400 lines of the build.log.
Created attachment 641912 [details] build.log.gz stripped build log with configure part and compile error
(In reply to Sam James (sec padawan) from comment #3) > (In reply to Fabio Rossi from comment #2) > > I think the problem is related to gcc-7 while building with gcc-8 works > > Can you try without -ggdb, and with gcc 9? Please attach at least the top > of, and then the last 250-400 lines of the build.log. I have tried with gcc-7 removing -ggdb, same problem. If I compile with gcc-8 or gcc-9 it works, even with -ggdb.
(In reply to Fabio Rossi from comment #5) > (In reply to Sam James (sec padawan) from comment #3) > > (In reply to Fabio Rossi from comment #2) > > > I think the problem is related to gcc-7 while building with gcc-8 works > > > > Can you try without -ggdb, and with gcc 9? Please attach at least the top > > of, and then the last 250-400 lines of the build.log. > > I have tried with gcc-7 removing -ggdb, same problem. If I compile with > gcc-8 or gcc-9 it works, even with -ggdb. I don't think GCC 7 is supported anymore upstream, just GCC 8 / GCC 9 / GCC 10: https://gcc.gnu.org/ So is there a reason you need GCC 7?
(In reply to Sam James (sec padawan) from comment #6) > https://gcc.gnu.org/ > > So is there a reason you need GCC 7? Because I have installed it on an old and slow computer and cannot rebuild everything for each release of gcc. Anyway gcc-7 is still available in portage so I expect to be usable, otherwise there should be a check in webkit-gtk ebuild informing the user of incompatible gcc versions
It would be good to know WHY it fails with gcc7. What feature it uses that it doesn't have, or if it's hitting some bug or what. You already have newer gcc, just switch to it for webkit-gtk build then meanwhile. webkit-gtk doesn't expose any C++ API to consumers (besides 5 symbols that aren't public API), it'll work fine for consumers using older C++ ABI (though I'm not sure that changed significantly between gcc7 and 8 either).
I have also reported the bug upstream https://bugs.webkit.org/show_bug.cgi?id=212590