Build WebKit for Qt4.8.7 by GCC13.3
-
Hi,
In buildroot from 2024 with Gcc 13.3 I added the "qt" package to build qt 4.8.7. Everything builds correctly. However, I have a problem after adding QtWebKit. During the build I get an error that doesn't tell me much. Below I am posting the configuration and the error from the terminal. Can anyone direct me on how to compile WebKit?Config:
Debug .................. no Qt 3 compatibility ..... no QtDBus module .......... yes (run-time) QtConcurrent code ...... yes QtGui module ........... yes QtScript module ........ yes QtScriptTools module ... no QtXmlPatterns module ... yes Phonon module .......... no Multimedia module ...... yes SVG module ............. yes WebKit module .......... yes JavaScriptCore JIT ..... To be decided by JavaScriptCore Declarative module ..... yes Declarative debugging ...yes Support for S60 ........ no Symbian DEF files ...... no STL support ............ yes PCH support ............ no MMX/3DNOW/SSE/SSE2/SSE3. no/no/no/no/no SSSE3/SSE4.1/SSE4.2..... no/no/no AVX..................... no iWMMXt support ......... no NEON support ........... yes IPv6 support ........... yes IPv6 ifname support .... yes getaddrinfo support .... yes getifaddrs support ..... yes Accessibility .......... no NIS support ............ no CUPS support ........... no Iconv support .......... no Glib support ........... yes GStreamer support ...... no PulseAudio support ..... no Large File support ..... yes GIF support ............ no TIFF support ........... no JPEG support ........... plugin (qt) PNG support ............ yes (qt) MNG support ............ no zlib support ........... yes Session management ..... no Embedded support ....... arm Freetype2 support ...... yes Graphics (qt) .......... linuxfb linuxfb qvfb Graphics (plugin) ...... Decorations (qt) ....... styled windows default Decorations (plugin) ... Keyboard driver (qt) ... linuxinput Keyboard driver (plugin) .. Mouse driver (qt) ...... tslib Mouse driver (plugin) .. OpenGL support ......... no OpenVG support ......... no OpenSSL support ........ no Alsa support ........... no ICD support ............ no libICU support ......... no Use system proxies ..... no
Error:
../JavaScriptCore/wtf/RefCounted.h:141:13: warning: deleting object of polymorphic class type ‘WebCore::Frame’ which has non-virtual destructor might cause undefined behavior [-Wdelete-non-virtual-dtor] 141 | delete static_cast<T*>(this); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../JavaScriptCore/wtf/Vector.h: In instantiation of ‘static void WTF::VectorMover<true, T>::move(const T*, const T*, T*) [with T = WTF::RefPtr<WebCore::Attribute>]’: ../JavaScriptCore/wtf/Vector.h:249:69: required from ‘static void WTF::VectorTypeOperations<T>::move(const T*, const T*, T*) [with T = WTF::RefPtr<WebCore::Attribute>]’ ../JavaScriptCore/wtf/Vector.h:926:37: required from ‘void WTF::Vector<T, inlineCapacity>::shrinkCapacity(size_t) [with T = WTF::RefPtr<WebCore::Attribute>; unsigned int inlineCapacity = 0; size_t = unsigned int]’ dom/NamedNodeMap.h:73:56: required from here ../JavaScriptCore/wtf/Vector.h:152:19: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘class WTF::RefPtr<WebCore::Attribute>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess] 152 | memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src)); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../JavaScriptCore/wtf/RefPtr.h:39:32: note: ‘class WTF::RefPtr<WebCore::Attribute>’ declared here 39 | template<typename T> class RefPtr { | ^~~~~~ make[3]: *** [Makefile.WebKit:79: sub-WebCore-make_default-ordered] Error 2 make[2]: *** [Makefile:635: sub-webkit-make_default-ordered] Error 2 make[1]: *** [package/pkg-generic.mk:283: /home/buildroot/output/build/qt-4.8.7/.stamp_built] Error 2 make: *** [Makefile:82: _all] Error 2
-
@Creatorczyk said in Build WebKit for Qt4.8.7 by GCC13.3:
"qt" package to build qt 4.8.7
Why do you want to build this ancient version which is not supported anymore since many years?
-
@Creatorczyk You may need an old compiler to compile qt4.8.7. GCC13.3 might be too modern for qt4.8.7.
-
@Creatorczyk What is the first error message? What you posted only shows some warnings and notes.
-
Since gcc13 was not yet out when Qt4.8.7 was released some now stricter c++ requirements are in place. you have to fix them by yourself. There error message is clear here - you need a virtual dtor - add it.