VirtualBox

Opened 5 years ago

Closed 5 years ago

#18801 closed defect (fixed)

Trunk does not compile on latest OpenSuse Tumbleweed

Reported by: Frank Batschulat (Oracle) Owned by: Frank Batschulat (Oracle)
Component: other Version: VirtualBox 6.0.10
Keywords: opensuse Cc:
Guest type: all Host type: Linux

Description

Trunk does not compile on latest OpenSuse Tumbleweed installation and bails out with an internal compiler error after warnings.

Here are the details:

1) OS version:


hpbox:/site/sw/linux # uname -a Linux hpbox 5.2.2-1-default #1 SMP Mon Jul 22 10:29:33 UTC 2019 (adfddac) x86_64 x86_64 x86_64 GNU/Linux hpbox:/ # cat /etc/os-release NAME="openSUSE Tumbleweed" # VERSION="20190726" ID="opensuse-tumbleweed" ID_LIKE="opensuse suse" VERSION_ID="20190726" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:tumbleweed:20190726" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/" LOGO="distributor-logo"

2) gcc / g++ version:


VBox/Trunk fbatschu@hpbox trunk $ cc -v Using built-in specs. COLLECT_GCC=cc COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/9/lto-wrapper OFFLOAD_TARGET_NAMES=hsa:nvptx-none Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d --enable-offload-targets=hsa,nvptx-none=/usr/nvptx-none, --without-cuda-driver --disable-werror --with-gxx-include-dir=/usr/include/c++/9 --enable-ssp --disable-libssp --disable-libvtv --disable-cet --disable-libcc1 --enable-plugin --with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --with-slibdir=/lib64 --with-system-zlib --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libphobos --enable-version-specific-runtime-libs --with-gcc-major-version-only --enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-9 --without-system-libunwind --enable-multilib --with-arch-32=x86-64 --with-tune=generic --with-build-config=bootstrap-lto-lean --enable-link-mutex --build=x86_64-suse-linux --host=x86_64-suse-linux Thread model: posix gcc version 9.1.1 20190723 [gcc-9-branch revision 273734] (SUSE Linux)

Box/Trunk fbatschu@hpbox trunk $ g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib64/gcc/x86_64-suse-linux/9/lto-wrapper OFFLOAD_TARGET_NAMES=hsa:nvptx-none Target: x86_64-suse-linux Configured with: ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,ada,go,d --enable-offload-targets=hsa,nvptx-none=/usr/nvptx-none, --without-cuda-driver --disable-werror --with-gxx-include-dir=/usr/include/c++/9 --enable-ssp --disable-libssp --disable-libvtv --disable-cet --disable-libcc1 --enable-plugin --with-bugurl=https://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --with-slibdir=/lib64 --with-system-zlib --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-libphobos --enable-version-specific-runtime-libs --with-gcc-major-version-only --enable-linker-build-id --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-9 --without-system-libunwind --enable-multilib --with-arch-32=x86-64 --with-tune=generic --with-build-config=bootstrap-lto-lean --enable-link-mutex --build=x86_64-suse-linux --host=x86_64-suse-linux Thread model: posix gcc version 9.1.1 20190723 [gcc-9-branch revision 273734] (SUSE Linux)

3) XXX build error, internal compiler error:


kBuild: Compiling vboxsoap - /site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp /site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp: In function ‘int fsend(soap*, const char*, size_t)’: /site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp:644:34: warning: logical ‘and’ of equal expressions [-Wlogical-op]

644 | if (err != SOAP_EAGAIN && err != SOAP_EWOULDBLOCK)

/site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp:746:37: warning: logical ‘or’ of equal expressions [-Wlogical-op]

746 | if (err == SOAP_EWOULDBLOCK
err == SOAP_EAGAIN)

/site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp: In function ‘size_t frecv(soap*, char*, size_t)’: /site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp:1069:32: warning: logical ‘and’ of equal expressions [-Wlogical-op]

1069 | if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)

/site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/stdsoap2.cpp:1174:30: warning: logical ‘and’ of equal expressions [-Wlogical-op]

1174 | if (r != SOAP_EAGAIN && r != SOAP_EWOULDBLOCK)

The failing command: @g++ -c -g -g -pipe -pedantic -Wshadow -Wall -Wextra -Wno-missing-field-initializers -Wno-unused -Wno-trigraphs -fdiagnostics-show-option -Wno-unused-parameter -Wlogical-op -Wno-variadic-macros -Wno-long-long -Wunused-variable -Wunused-function -Wunused-label -Wunused-parameter -Wno-overloaded-virtual -Wno-array-bounds -Wno-ignored-qualifiers -Wno-variadic-macros -O0 -fno-omit-frame-pointer -fno-strict-aliasing -Wno-unused-parameter -Wno-shadow -Wno-parentheses -Wno-literal-suffix -Wno-stringop-overflow -Wno-stringop-truncation -Wno-vla -Wno-format -Wno-deprecated-declarations -m64 -I/site/ws/vbox/trunk/tools/common/gsoap/v2.8.72 -I/site/ws/vbox/trunk/tools/common/gsoap/v2.8.72/import -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice -I/site/ws/vbox/trunk/src/VBox/Main/webservice -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/vboxsoap/dtrace -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/crypto-1.1.1-headers/include -I/site/ws/vbox/trunk/include -I/site/ws/vbox/trunk/out/linux.amd64/debug -DVBOX -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DDEBUG -DDEBUG_fbatschu -DDEBUG_USERNAME=fbatschu -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -DAMD64 -DVBOX_WITH_DEBUGGER -DRT_LOCK_STRICT -DRT_LOCK_STRICT_ORDER -DIN_RING3 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DWITH_OPENSSL -DHC_ARCH_BITS=64 -Wp,-MD,/site/ws/vbox/trunk/out/linux.amd64/debug/obj/vboxsoap/gen/webservice/soapC-1.o.dep -Wp,-MT,/site/ws/vbox/trunk/out/linux.amd64/debug/obj/vboxsoap/gen/webservice/soapC-1.o -Wp,-MP -o /site/ws/vbox/trunk/out/linux.amd64/debug/obj/vboxsoap/gen/webservice/soapC-1.o /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-1.cpp kBuild: Compiling vboxsoap - /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-1.cpp In file included from /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-1.cpp:19: /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapH.h: In function ‘int soap_GET_vboxIProcess_USCOREgetArguments(soap*, const char*, vboxIProcess_USCOREgetArguments*)’: /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapH.h:377329: note: ‘-Wmisleading-indentation’ is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers 377329 | return SOAP_OK;

|

during GIMPLE pass: printf-return-value /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-1.cpp: In function ‘int soap_putelement(soap*, const void*, const char*, int, int)’: /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-1.cpp:19791: internal compiler error: in subspan, at input.h:68 19791 | SOAP_FMAC3 int SOAP_FMAC4 soap_putelement(struct soap *soap, const void *ptr, const char *tag, int id, int type)

|

Please submit a full bug report, with preprocessed source if appropriate. See <https://bugs.opensuse.org/> for instructions. kmk: * /site/ws/vbox/trunk/out/linux.amd64/debug/obj/vboxsoap/gen/webservice/soapC-1.o Error 1 kmk: * Waiting for unfinished jobs.... kBuild: Compiling vboxsoap - /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-2.cpp In file included from /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapC-2.cpp:1: /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapH.h: In function ‘int soap_GET_vboxIProcess_USCOREgetArguments(soap*, const char*, vboxIProcess_USCOREgetArguments*)’: /site/ws/vbox/trunk/out/linux.amd64/debug/obj/webservice/soapH.h:377329: note: ‘-Wmisleading-indentation’ is disabled from this point onwards, since column-tracking was disabled due to the size of the code/headers 377329 | return SOAP_OK;

|

kmk: * Exiting with status 2

4) Opensuses working Virtualbox:


We know that the OpenSuse folks at least got the previous version properly compiled:

#zypper info virtualbox Loading repository data... Reading installed packages...

Information for package virtualbox:


Repository : openSUSE-Tumbleweed-Oss Name : virtualbox Version : 6.0.8-3.5 Arch : x86_64 Vendor : openSUSE Installed Size : 39,0 MiB Installed : Yes Status : up-to-date Source package : virtualbox-6.0.8-3.5.src Summary : VirtualBox is an Emulator


Attachments (3)

package-list-05042019-hpbox.txt.bz2 (372.0 KB ) - added by Frank Batschulat (Oracle) 5 years ago.
Package list from my build server
fbatschu-07082019.patch (1.2 KB ) - added by Frank Batschulat (Oracle) 5 years ago.
diffs from 07082019
fbatschu-07082019-2.patch (1.2 KB ) - added by Frank Batschulat (Oracle) 5 years ago.
2nd version of the patch

Download all attachments as: .zip

Change History (13)

comment:1 by Frank Batschulat (Oracle), 5 years ago

There are 2 possible workarounds to overcome the compiler error that appears when compiling the VBOX internally delivered version of libsoap, which is 2.8.72, those are:

workaround_1) fall back to version 8 of g++

hpbox:/usr/bin # ls -la g++* lrwxrwxrwx 1 root root 5 Jul 9 10:16 g++ -> g++-9 -rwxr-xr-x 1 root root 1087976 Jul 9 15:40 g++-8 -rwxr-xr-x 1 root root 760000 Jul 24 23:23 g++-9

hpbox:/usr/bin # rm g++ hpbox:/usr/bin # ln -s g++-8 g++ hpbox:/usr/bin # ls -la g++* lrwxrwxrwx 1 root root 5 Aug 2 11:51 g++ -> g++-8 -rwxr-xr-x 1 root root 1087976 Jul 9 15:40 g++-8 -rwxr-xr-x 1 root root 760000 Jul 24 23:23 g++-9

gcc version 8.3.1 20190531 [gcc-8-branch revision 271802] (SUSE Linux)

workaround_2) do not build the webservices entirely

add VBOX_WITH_WEBSERVICES := to the LocalConfig.kmk file:

VBox/Trunk fbatschu@hpbox trunk $ cat LocalConfig.kmk VBOX_WITH_TESTCASES := VBOX_WITH_VALIDATIONKIT := VBOX_WITHOUT_HARDENING := 1 VBOX_WITHOUT_DOCS := 1 VBOX_WITH_WEBSERVICES :=

With both workarounds you can successfully compile the vbox internal gsoap stuff in common/gsoap/v2.8.72.

NB: OpenSUse itself delivers a higher version with the OS so they must have compiled it likely with gcc/g++ version 9.x I suppose.

VBox/Trunk fbatschu@hpbox trunk $ zypper search gsoap Loading repository data... Reading installed packages...

S | Name | Summary | Type --+-----------------+-------------------------------------------------+--------

| gsoap-devel | Development files for the gSOAP toolkit | package | gsoap-doc | Runtime and development documentation for gsoap | package | libgsoap-2_8_87 | Runtime libraries for gSOAP | package

VBox/Trunk fbatschu@hpbox trunk $ apt info libgsoap-2_8_87 Loading repository data... Reading installed packages...

Information for package libgsoap-2_8_87:


Repository : openSUSE-Tumbleweed-Oss Name : libgsoap-2_8_87 Version : 2.8.87-1.1 Arch : x86_64 Vendor : openSUSE Installed Size : 1.6 MiB Installed : No Status : not installed Source package : gsoap-2.8.87-1.1.src Summary : Runtime libraries for gSOAP Description :

gSOAP is a toolkit for C and C++ server and client Web service applications, and is responsible for e.g. HTTP request handling and the serialization of XML.

SO while these 2 workarounds get us over building gsoap we fail compilation later on when compiling:

trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp

with what appears to be a realVirtualbox problem, redardless if I use gcc/g++ version 8.x or 9.x, the failure is the same for both compilers, here the error output for the 9.x compiler version:

gcc version 9.1.1 20190723 [gcc-9-branch revision 273734] (SUSE Linux)

kBuild: Compiling UICommon - /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp The failing command: @g++ -c -g -fPIC -g -pipe -Wall -Wextra -Wno-missing-field-initializers -Wno-trigraphs -fdiagnostics-show-option -Wlogical-op -Wno-variadic-macros -frtti -fno-exceptions -Wno-long-long -fshort-wchar -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden -Wno-multistatement-macros -Wno-ignored-qualifiers -std=c++11 -fPIC -pthread -m64 -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/cloud -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/converter -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/extensions -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/extensions/graphics -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/extradata -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/globals -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/hostnetwork -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/logviewer -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/viso -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/objects -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/platform -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/platform/win -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/platform/x11 -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/runtime/information -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/guestctrl -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/settings -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/settings/global -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/settings/machine -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/snapshots -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/widgets -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/manager -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/manager/details -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/manager/tools -I/site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/net -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/string -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/nsprpub -I/site/ws/vbox/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/ipcd -I/usr/include/qt5/QtX11Extras -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5 -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/qtmoc -I/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/qtuic -I/site/ws/vbox/trunk/include -I/site/ws/vbox/trunk/out/linux.amd64/debug -DVBOX -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DDEBUG -DDEBUG_fbatschu -DDEBUG_USERNAME=fbatschu -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -DAMD64 -DVBOX_WITH_DEBUGGER -DRT_LOCK_STRICT -DRT_LOCK_STRICT_ORDER -DPIC -DIN_RING3 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DHAVE_CONFIG_H -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_XPCOM -DVBOX_WITH_XPCOM_NAMESPACE_CLEANUP -DPIC -DVBOX_GUI_LIBRARY -DVBOX_WITH_UPDATE_REQUEST -DVBOX_GUI_WITH_NEW_MEDIA_EVENTS -DVBOX_WITH_AUDIO_OSS -DVBOX_WITH_AUDIO_ALSA -DVBOX_WITH_AUDIO_PULSE -DVBOX_WITH_E1000 -DVBOX_WITH_NETFLT -DVBOX_WITH_VDE -DVBOX_WITH_EXTPACK -DVBOX_WITH_DRAG_AND_DROP -DVBOX_WITH_CRHGSMI -DVBOX_WITH_VIRTIO -DVBOX_WITH_CROGL -DVBOX_WITH_DEBUGGER_GUI -DVBOX_WITH_DEBUGGER_GUI_MENU -DVBOX_WITH_VIDEOHWACCEL -DVBOX_GUI_USE_QGL -DVBOX_GUI_WITH_NETWORK_MANAGER -DVBOX_GUI_WITH_EXTRADATA_MANAGER_UI -DVBOX_WITH_LESS_VIRTUALBOX_INCLUDING -DQT_X11EXTRAS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -DVBOX_CHECK_STATE -D_REENTRANT -DVBOX_WS_X11 -Wp,-MD,/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/src/medium/UIMediumDefs.o.dep -Wp,-MT,/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/src/medium/UIMediumDefs.o -Wp,-MP -o /site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/src/medium/UIMediumDefs.o /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp kBuild: Compiling UICommon - /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp In file included from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:32,

from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:

/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:336:93: error: invalid use of incomplete type ‘class QStringList’

336 | QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());

|

In file included from /usr/include/qt5/QtCore/QString:1,

from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:25, from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:

/usr/include/qt5/QtCore/qstring.h:86:7: note: forward declaration of ‘class QStringList’

86 | class QStringList;

|

In file included from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:32,

from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:

/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:338:87: error: invalid use of incomplete type ‘class QList<int>’

338 | QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());

|

In file included from /usr/include/qt5/QtCore/qglobal.h:1218,

from /usr/include/qt5/QtCore/qchar.h:43, from /usr/include/qt5/QtCore/qstring.h:48, from /usr/include/qt5/QtCore/QString:1, from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:25, from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:

/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’

212 | Q_DECLARE_MOVABLE_CONTAINER(QList);

|

/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’

194 | template <typename T> class CONTAINER; \

|

kmk: * /site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/src/medium/UIMediumDefs.o Error 1 kmk: * Waiting for unfinished jobs.... kBuild: Compiling UICommon - /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumEnumerator.cpp kmk: * Exiting with status 2 VBox/Trunk fbatschu@hpbox trunk $

comment:2 by Frank Batschulat (Oracle), 5 years ago

fwiw, compiling and packaging the guest additions only with

trunk $ kmk VBOX_ONLY_ADDITIONS=1 trunk $ kmk packing VBOX_ONLY_ADDITIONS=1

works without any problems.

by Frank Batschulat (Oracle), 5 years ago

Package list from my build server

comment:3 by Frank Batschulat (Oracle), 5 years ago

It does not matter wheter or not you declare in LocalConfig.kmk

VBOX_WITH_TOOLS_QT_LINUX := 1

or

VBOX_WITH_TOOLS_QT_LINUX :=

to use the VBOX version vrs the OS version.

the error, the error message and the files complained about stays the same and needs to be resolved.

Last edited 5 years ago by Frank Batschulat (Oracle) (previous) (diff)

comment:4 by Frank Batschulat (Oracle), 5 years ago

We have the following problematic places:

1) invalid use of incomplete type ‘class QStringList’
------------------------------------------------------
In file included from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:32,
                 from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:
/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:336:93: error: invalid use of incomplete type ‘class QStringList’
  336 |     QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());

https://doc.qt.io/qt-5/qstringlist.html
Qt 5.13
QStringList Class
The QStringList class provides a list of strings. More...
Header:	#include <QStringList>
qmake:	QT += core
Inherits:	QList

"trunk/src/VBox/Frontends/VirtualBox/precomptricks/QStringList" 3L, 39C                                                    
  1 #pragma once
  2 #include "qstringlist.h"

2) invalid use of incomplete type ‘class QList<int>’
----------------------------------------------------
In file included from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:32,
                 from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp:19:
/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:338:87: error: invalid use of incomplete type ‘class QList<int>’
  338 |     QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());

https://doc.qt.io/qt-5/qlist.html
Qt 5.13
QList Class
The QList class is a template class that provides lists. More...
Header:	#include <QList>
qmake:	QT += core
Inherited By:	
QByteArrayList, QItemSelection, QQueue, and QStringList
-------------------------------------------------------------

trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h

 24 /* Qt includes: */
 25 #include <QString>

 32 #include "CVirtualBox.h"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

XXX possible fix:

#include <Qlist>
#include <QStringList>

fbatschu@hpbox:/usr/include> cat ./qt5/QtCore/QStringList
#include "qstringlist.h"

fbatschu@hpbox:/usr/include> find . -name qstringlist.h -ls
  3101765     16 -rw-r--r--   1  root     root        12425 Jun 13 06:18 ./qt5/QtCore/qstringlist.h

fbatschu@hpbox:/usr/include> zypper info libqt5-qtdoc
Loading repository data...
Reading installed packages...

Information for package libqt5-qtdoc:
-------------------------------------
Repository     : openSUSE-Tumbleweed-Oss    
Name           : libqt5-qtdoc               
Version        : 5.13.0-1.2                 
Arch           : noarch                     
Vendor         : openSUSE                   
Installed Size : 152.2 KiB                  
Installed      : No                         
Status         : not installed              
Source package : libqt5-qtdoc-5.13.0-1.2.src
Summary        : Qt 5 API Documentation     
Description    :                            
    Qt is a set of libraries for developing applications.

    This package pulls in the API documentation in HTML and QCH format.

out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h

  2  * DO NOT EDIT! This is a generated file.
  3  *
  4  * Qt-based wrapper declaration for VirtualBox Main API (COM) interface.
  5  * Generated from XIDL (XML interface definition).
  6  *
  7  * Source    : src/VBox/Main/idl/VirtualBox.xidl
  8  * Generator : src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl
  9  */
 11 #ifndef __CVirtualBox_h__
 12 #define __CVirtualBox_h__
 13 
 14 /* Qt includes: */
 15 #include <QRect>
 16 
 17 /* GUI includes: */
 18 #include "COMDefs.h"
 19 #include "UILibraryDefs.h"
 20 
 21 /* VirtualBox interface declarations: */
 22 #ifndef VBOX_WITH_LESS_VIRTUALBOX_INCLUDING
 23 # include <VBox/com/VirtualBox.h>
 24 #else
 25 COM_STRUCT_OR_CLASS(IVirtualBox);
 26 #endif


336     QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());

338     QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());


VBox/Trunk fbatschu@hpbox trunk $ svn diff
Index: src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h
===================================================================
--- src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h	(revision 132574)
+++ src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h	(working copy)
@@ -22,7 +22,9 @@
 #endif
 
 /* Qt includes: */
+#include <QList>
 #include <QString>
+#include <QStringList>
 
 /* GUI includes: */
 #include "UILibraryDefs.h"

kBuild: Compiling UICommon - /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.cpp
kBuild: Compiling UICommon - /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMedium.cpp

-------------------------------------

XXX And after fixing that error, we run into the next error:

kBuild: Compiling UICommon - /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/qtmoc/VBoxLicenseViewer.cpp
The failing command:
@g++ -c -g -fPIC -g -pipe -Wall -Wextra -Wno-missing-field-initializers -Wno-trigraphs -fdiagnostics-show-option -Wlogical-op -Wno-variadic-macros -frtti -fno-exceptions -Wno-long-long -fshort-wchar -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden -Wno-multistatement-macros -Wno-ignored-qualifiers  -std=c++11   -fPIC -pthread -m64 -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/cloud -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/converter -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extensions -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extensions/graphics -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extradata -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/globals -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/hostnetwork -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/logviewer -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium/viso -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/objects -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/win -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/x11 -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/information -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/guestctrl -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings/global -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings/machine -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/snapshots -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/widgets -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/details -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/tools -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/net -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/string -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/nsprpub -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/ipcd -I/usr/include/qt5/QtX11Extras -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5 -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/qtmoc -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/qtuic -I/site/ws/vb2/trunk/include -I/site/ws/vb2/trunk/out/linux.amd64/debug -DVBOX -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DDEBUG -DDEBUG_fbatschu -DDEBUG_USERNAME=fbatschu -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DRT_LOCK_STRICT -DRT_LOCK_STRICT_ORDER -DPIC -DIN_RING3 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DHAVE_CONFIG_H -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_XPCOM -DVBOX_WITH_XPCOM_NAMESPACE_CLEANUP -DPIC -DVBOX_GUI_LIBRARY -DVBOX_WITH_UPDATE_REQUEST -DVBOX_GUI_WITH_NEW_MEDIA_EVENTS -DVBOX_WITH_AUDIO_OSS -DVBOX_WITH_AUDIO_ALSA -DVBOX_WITH_AUDIO_PULSE -DVBOX_WITH_E1000 -DVBOX_WITH_NETFLT -DVBOX_WITH_VDE -DVBOX_WITH_EXTPACK -DVBOX_WITH_DRAG_AND_DROP -DVBOX_WITH_CRHGSMI -DVBOX_WITH_VIRTIO -DVBOX_WITH_CROGL -DVBOX_WITH_DEBUGGER_GUI -DVBOX_WITH_DEBUGGER_GUI_MENU -DVBOX_WITH_VIDEOHWACCEL -DVBOX_GUI_USE_QGL -DVBOX_GUI_WITH_NETWORK_MANAGER -DVBOX_GUI_WITH_EXTRADATA_MANAGER_UI -DVBOX_WITH_LESS_VIRTUALBOX_INCLUDING -DQT_X11EXTRAS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_OPENGL_LIB -DVBOX_CHECK_STATE -D_REENTRANT -DVBOX_WS_X11 -Wp,-MD,/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/gen/include/COMWrappers.o.dep -Wp,-MT,/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/gen/include/COMWrappers.o -Wp,-MP -o /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/gen/include/COMWrappers.o  /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp
kBuild: Compiling UICommon - /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp
In file included from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:23:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:336:93: error: invalid use of incomplete type ‘class QStringList’
  336 |     QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());
      |                                                                                             ^
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:23:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:338:87: error: invalid use of incomplete type ‘class QList<int>’
  338 |     QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());
      |                                                                                       ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
In file included from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:34:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/CMachine.h:490:93: error: invalid use of incomplete type ‘class QStringList’
  490 |     QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());
      |                                                                                             ^
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:34:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/CMachine.h:492:87: error: invalid use of incomplete type ‘class QList<int>’
  492 |     QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());
      |                                                                                       ^
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘QRect CVirtualBox::GetExtraDataRect(const QString&, const QRect&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3793:16: error: variable ‘QList<int> intList’ has initializer but incomplete type
 3793 |     QList<int> intList = GetExtraDataIntList(strKey);
      |                ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CVirtualBox::SetExtraDataStringList(const QString&, const QStringList&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3806:26: error: invalid use of incomplete type ‘const class QStringList’
 3806 |     SetExtraData(strKey, value.join(","));
      |                          ^~~~~
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: At global scope:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3809:84: error: ‘def’ has incomplete type
 3809 | QStringList CVirtualBox::GetExtraDataStringList(const QString &strKey, QStringList def /* = QStringList() */)
      |                                                                        ~~~~~~~~~~~~^~~
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3809:109: error: return type ‘class QStringList’ is incomplete
 3809 | QStringList CVirtualBox::GetExtraDataStringList(const QString &strKey, QStringList def /* = QStringList() */)
      |                                                                                                             ^
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CVirtualBox::GetExtraDataStringList(const QString&, QStringList)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3815:34: error: invalid use of incomplete type ‘class QStringList’
 3815 |         return strValue.split(",");
      |                                  ^
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CVirtualBox::SetExtraDataIntList(const QString&, const QList<int>&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3820:17: error: aggregate ‘QStringList strList’ has incomplete type and cannot be defined
 3820 |     QStringList strList;
      |                 ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3821:23: error: invalid use of incomplete type ‘const class QList<int>’
 3821 |     for (int i=0; i < value.size(); ++i)
      |                       ^~~~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3822:36: error: invalid use of incomplete type ‘const class QList<int>’
 3822 |         strList << QString::number(value.at(i));
      |                                    ^~~~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: At global scope:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3826:79: error: ‘def’ has incomplete type
 3826 | QList<int> CVirtualBox::GetExtraDataIntList(const QString &strKey, QList<int> def /* = QList<int>() */)
      |                                                                    ~~~~~~~~~~~^~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3826:103: error: return type ‘class QList<int>’ is incomplete
 3826 | QList<int> CVirtualBox::GetExtraDataIntList(const QString &strKey, QList<int> def /* = QList<int>() */)
      |                                                                                                       ^
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CVirtualBox::GetExtraDataIntList(const QString&, QList<int>)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3828:17: error: variable ‘QStringList strList’ has initializer but incomplete type
 3828 |     QStringList strList = GetExtraDataStringList(strKey);
      |                 ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:3831:20: error: aggregate ‘QList<int> intList’ has incomplete type and cannot be defined
 3831 |         QList<int> intList;
      |                    ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘QRect CMachine::GetExtraDataRect(const QString&, const QRect&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10613:16: error: variable ‘QList<int> intList’ has initializer but incomplete type
10613 |     QList<int> intList = GetExtraDataIntList(strKey);
      |                ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CMachine::SetExtraDataStringList(const QString&, const QStringList&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10626:26: error: invalid use of incomplete type ‘const class QStringList’
10626 |     SetExtraData(strKey, value.join(","));
      |                          ^~~~~
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: At global scope:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10629:81: error: ‘def’ has incomplete type
10629 | QStringList CMachine::GetExtraDataStringList(const QString &strKey, QStringList def /* = QStringList() */)
      |                                                                     ~~~~~~~~~~~~^~~
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10629:106: error: return type ‘class QStringList’ is incomplete
10629 | QStringList CMachine::GetExtraDataStringList(const QString &strKey, QStringList def /* = QStringList() */)
      |                                                                                                          ^
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CMachine::GetExtraDataStringList(const QString&, QStringList)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10635:34: error: invalid use of incomplete type ‘class QStringList’
10635 |         return strValue.split(",");
      |                                  ^
In file included from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qmetatype.h:108:24: note: forward declaration of ‘class QStringList’
  108 |     F(QStringList, 11, QStringList) \
      |                        ^~~~~~~~~~~
/usr/include/qt5/QtCore/qmetatype.h:1969:11: note: in definition of macro ‘QT_FORWARD_DECLARE_STATIC_TYPES_ITER’
 1969 |     class Name;
      |           ^~~~
/usr/include/qt5/QtCore/qmetatype.h:1971:1: note: in expansion of macro ‘QT_FOR_EACH_STATIC_CORE_CLASS’
 1971 | QT_FOR_EACH_STATIC_CORE_CLASS(QT_FORWARD_DECLARE_STATIC_TYPES_ITER)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CMachine::SetExtraDataIntList(const QString&, const QList<int>&)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10640:17: error: aggregate ‘QStringList strList’ has incomplete type and cannot be defined
10640 |     QStringList strList;
      |                 ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10641:23: error: invalid use of incomplete type ‘const class QList<int>’
10641 |     for (int i=0; i < value.size(); ++i)
      |                       ^~~~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10642:36: error: invalid use of incomplete type ‘const class QList<int>’
10642 |         strList << QString::number(value.at(i));
      |                                    ^~~~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: At global scope:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10646:76: error: ‘def’ has incomplete type
10646 | QList<int> CMachine::GetExtraDataIntList(const QString &strKey, QList<int> def /* = QList<int>() */)
      |                                                                 ~~~~~~~~~~~^~~
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
                 from /usr/include/qt5/QtCore/qmetatype.h:45,
                 from /usr/include/qt5/QtCore/QMetaType:1,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMEnums.h:15,
                 from /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:14:
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
  212 | Q_DECLARE_MOVABLE_CONTAINER(QList);
      |                             ^~~~~
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_CONTAINER’
  194 | template <typename T> class CONTAINER; \
      |                             ^~~~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10646:100: error: return type ‘class QList<int>’ is incomplete
10646 | QList<int> CMachine::GetExtraDataIntList(const QString &strKey, QList<int> def /* = QList<int>() */)
      |                                                                                                    ^
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp: In member function ‘void CMachine::GetExtraDataIntList(const QString&, QList<int>)’:
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10648:17: error: variable ‘QStringList strList’ has initializer but incomplete type
10648 |     QStringList strList = GetExtraDataStringList(strKey);
      |                 ^~~~~~~
/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include/COMWrappers.cpp:10651:20: error: aggregate ‘QList<int> intList’ has incomplete type and cannot be defined
10651 |         QList<int> intList;
      |                    ^~~~~~~
kmk: *** [/site/ws/vb2/trunk/kBuild/footer-pass2-compiling-targets.kmk:277: /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/gen/include/COMWrappers.o] Error 1
kmk: *** Waiting for unfinished jobs....
kBuild: Compiling UICommon - /site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/qtmoc/UITakeSnapshotDialog.cpp
kmk: *** Exiting with status 2

### lets try a different approach, we know that the generated header file
### out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h
### at least has one Qt header file in it:

 14 /* Qt includes: */
 15 #include <QRect>

### look for how we get it added during automated generation:

trunk/src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl

 301     <xsl:if test="@name='IVirtualBox' or @name='IMachine'">
 302         <xsl:text>/* Qt includes: */&#x0A;</xsl:text>
 303         <xsl:text>#include &lt;QRect&gt;&#x0A;&#x0A;</xsl:text>
 304     </xsl:if>
[...]
 480 <xsl:text>    void SetExtraDataBool(const QString &amp;strKey, bool fValue);
 481     bool GetExtraDataBool(const QString &amp;strKey, bool fDef = true);
 482     void SetExtraDataInt(const QString &amp;strKey, int value);
 483     int GetExtraDataInt(const QString &amp;strKey, int def = 0);
 484     void SetExtraDataRect(const QString &amp;strKey, const QRect &amp;value);
 485     QRect GetExtraDataRect(const QString &amp;strKey, const QRect &amp;def = QRect());
 486     void SetExtraDataStringList(const QString &amp;strKey, const QStringList &amp;value);
 487     QStringList GetExtraDataStringList(const QString &amp;strKey, QStringList def = QStringList());
 488     void SetExtraDataIntList(const QString &amp;strKey, const QList&lt;int&gt; &amp;value);
 489     QList&lt;int&gt; GetExtraDataIntList(const QString &amp;strKey, QList&lt;int&gt; def = QList&lt;int&gt;());
 490 
 491 </xsl:text>
[...]
 936 </xsl:text>
 937 
 938   <xsl:text>QRect C</xsl:text>
 939   <xsl:value-of select="substring(@name,2)"/>
 940   <xsl:text>::GetExtraDataRect(const QString &amp;strKey, const QRect &amp;def /* = QRect() */)</xsl:text>
 941 <xsl:text>
[...]
 965 </xsl:text>
 966 
 967   <xsl:text>QStringList C</xsl:text>
 968   <xsl:value-of select="substring(@name,2)"/>
 969   <xsl:text>::GetExtraDataStringList(const QString &amp;strKey, QStringList def /* = QStringList() */)</xsl:text>
 970 <xsl:text>
[...]
 992 </xsl:text>
 993 
 994   <xsl:text>QList&lt;int&gt; C</xsl:text>
 995   <xsl:value-of select="substring(@name,2)"/>
 996   <xsl:text>::GetExtraDataIntList(const QString &amp;strKey, QList&lt;int&gt; def /* = QList&lt;int&gt;() */)</xsl:text>
 997 <xsl:text>

### so with that we have all classes complained about togeter,
### QList, QStringList without corresponding header file and the working
### QRect with a corresponding header file.
### let's try to add the fix in there rather then what I did initally
### not changing  src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h
### but instead fix src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl
### to automatically generate a proper 
### out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h

XXX next potential fix:

VBox/Trunk fbatschu@hpbox trunk $ svn diff
Index: src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl
===================================================================
--- src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl	(revision 132574)
+++ src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl	(working copy)
@@ -301,6 +301,8 @@
     <xsl:if test="@name='IVirtualBox' or @name='IMachine'">
         <xsl:text>/* Qt includes: */&#x0A;</xsl:text>
         <xsl:text>#include &lt;QRect&gt;&#x0A;</xsl:text>
+        <xsl:text>#include &lt;QList&gt;&#x0A;</xsl:text>
+        <xsl:text>#include &lt;QStringList&gt;&#x0A;&#x0A;</xsl:text>
     </xsl:if>
     <xsl:text>/* GUI includes: */&#x0A;</xsl:text>
     <xsl:text>#include "COMDefs.h"&#x0A;</xsl:text>

### This now generates:

fbatschu@hpbox:/site/ws/vb2/trunk> grep "<Q" out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h
#include <QRect>
#include <QList>
#include <QStringList>
    QVector<QString> GetMachineGroups() const;
    QVector<QString> GetInternalNetworks() const;
    QVector<QString> GetGenericNetworkDrivers() const;
    CMachine CreateMachine(const QString & aSettingsFile, const QString & aName, const QVector<QString> & aGroups, const QString & aOsTypeId, const QString & aFlags);
    QVector<CMachine> GetMachinesByGroups(const QVector<QString> & aGroups);
    QVector<QString> GetExtraDataKeys();

XXX Now the next error we then fall over is:

kBuild: Compiling VirtualBox - /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIApplianceUnverifiedCertificateViewer.cpp
The failing command:
@g++ -c -g -g -pipe -Wall -Wextra -Wno-missing-field-initializers -Wno-trigraphs -fdiagnostics-show-option -Wlogical-op -Wno-variadic-macros -frtti -fno-exceptions -Wno-long-long -fshort-wchar -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden -Wno-multistatement-macros -Wno-ignored-qualifiers  -std=c++11   -fPIC -Wno-switch -pthread -m64 -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/cloud -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/converter -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extensions -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extensions/graphics -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/extradata -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/globals -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/hostnetwork -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/logviewer -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/medium/viso -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/objects -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/win -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/platform/x11 -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/fullscreen -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/scale -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/seamless -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/runtime/information -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/guestctrl -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings/global -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/settings/machine -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/snapshots -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/widgets -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvd -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevm -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/clonevd -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/firstrun -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/details -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/manager/tools -I/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/net -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/UICommon/include -I/site/ws/vb2/trunk/include/VBox/Graphics -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/string -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/xpcom -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/nsprpub -I/site/ws/vb2/trunk/out/linux.amd64/debug/bin/sdk/bindings/xpcom/include/ipcd -I/usr/include/qt5/QtX11Extras -I/usr/include/qt5/QtCore -I/usr/include/qt5/QtGui -I/usr/include/qt5/QtWidgets -I/usr/include/qt5/QtPrintSupport -I/usr/include/qt5/QtOpenGL -I/usr/include/qt5 -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/qtmoc -I/site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/qtuic -I/site/ws/vb2/trunk/include -I/site/ws/vb2/trunk/out/linux.amd64/debug -DVBOX -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DDEBUG -DDEBUG_fbatschu -DDEBUG_USERNAME=fbatschu -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DRT_LOCK_STRICT -DRT_LOCK_STRICT_ORDER -DIN_RING3 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DHAVE_CONFIG_H -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_XPCOM -DVBOX_WITH_XPCOM_NAMESPACE_CLEANUP -DPIC -DVBOX_WITH_UPDATE_REQUEST -DVBOX_GUI_WITH_NEW_MEDIA_EVENTS -DVBOX_WITH_AUDIO_OSS -DVBOX_WITH_AUDIO_ALSA -DVBOX_WITH_AUDIO_PULSE -DVBOX_WITH_E1000 -DVBOX_WITH_NETFLT -DVBOX_WITH_VDE -DVBOX_WITH_UDPTUNNEL -DVBOX_WITH_EXTPACK -DVBOX_WITH_EHCI -DVBOX_WITH_DRAG_AND_DROP -DVBOX_WITH_DRAG_AND_DROP_GH -DVBOX_WITH_CRHGSMI -DVBOX_WITH_VIRTIO -DVBOX_WITH_WDDM -DVBOX_WITH_CROGL -DVBOX_WITH_DEBUGGER_GUI -DVBOX_WITH_DEBUGGER_GUI_MENU -DVBOX_WITH_VIDEOHWACCEL -DVBOX_GUI_USE_QGL -DVBOX_GUI_WITH_NETWORK_MANAGER -DVBOX_GUI_WITH_EXTRADATA_MANAGER_UI -DVBOX_WITH_LESS_VIRTUALBOX_INCLUDING -DQT_X11EXTRAS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_WIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DVBOX_CHECK_STATE -D_REENTRANT -DVBOX_WS_X11 -DVBOX_WITH_MASKED_SEAMLESS -DVBOX_WITH_TRANSLUCENT_SEAMLESS -Wp,-MD,/site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/src/wizards/importappliance/UIWizardImportApp.o.dep -Wp,-MT,/site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/src/wizards/importappliance/UIWizardImportApp.o -Wp,-MP -o /site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/src/wizards/importappliance/UIWizardImportApp.o  /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportApp.cpp
kBuild: Compiling VirtualBox - /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportApp.cpp
/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportApp.cpp:21:10: fatal error: QPrintDialog: No such file or directory
   21 | #include <QPrintDialog>
      |          ^~~~~~~~~~~~~~
compilation terminated.
kmk: *** [/site/ws/vb2/trunk/kBuild/footer-pass2-compiling-targets.kmk:277: /site/ws/vb2/trunk/out/linux.amd64/debug/obj/VirtualBox/src/wizards/importappliance/UIWizardImportApp.o] Error 1
kmk: *** Waiting for unfinished jobs....
kBuild: Compiling VirtualBox - /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp
/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp: In constructor ‘UIWizardExportAppPageExpert::UIWizardExportAppPageExpert(const QStringList&, bool)’:
/site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp:358:68: warning: ‘int QFontMetrics::width(QChar) const’ is deprecated: Use QFontMetrics::horizontalAdvance [-Wdeprecated-declarations]
  358 |                                 const int iFontWidth = fm.width('x');
      |                                                                    ^
In file included from /usr/include/qt5/QtWidgets/qwidget.h:50,
                 from /usr/include/qt5/QtWidgets/qabstractbutton.h:46,
                 from /usr/include/qt5/QtWidgets/qcheckbox.h:44,
                 from /usr/include/qt5/QtWidgets/QCheckBox:1,
                 from /site/ws/vb2/trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp:19:
/usr/include/qt5/QtGui/qfontmetrics.h:112:9: note: declared here
  112 |     int width(QChar) const;
      |         ^~~~~
kmk: *** Exiting with status 2
VBox/Trunk fbatschu@hpbox trunk $ 

src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportApp.cpp

 21 #include <QPrintDialog>
 22 #include <QPrinter>

fbatschu@hpbox:/usr/include> find . -name "QPrint*" -ls
fbatschu@hpbox:/usr/include> 

https://doc.qt.io/qt-5/qprintdialog.html
QPrintDialog Class
The QPrintDialog class provides a dialog for specifying the printer's configuration. More...
Header:	#include <QPrintDialog>
qmake:	QT += printsupport
Inherits:	QAbstractPrintDialog

fbatschu@hpbox:/usr/include> zypper search libQt5Print
Loading repository data...
Reading installed packages...

S  | Name                                     | Summary                                                           | Type   
---+------------------------------------------+-------------------------------------------------------------------+--------
   | libQt5PrintSupport-devel                 | Development files for the Qt5 print support library               | package
   | libQt5PrintSupport-devel-32bit           | Development files for the Qt5 print support library               | package
   | libQt5PrintSupport-private-headers-devel | Non-ABI stable experimental API for the Qt5 print support library | package
i+ | libQt5PrintSupport5                      | Qt 5 Print Support Library                                        | package
   | libQt5PrintSupport5-32bit                | Qt 5 Print Support Library                                        | package

sudo zypper install libQt5PrintSupport-devel libQt5PrintSupport-devel-32bit libQt5PrintSupport-private-headers-devel libQt5PrintSupport5-32bit

### and so we get them:

fbatschu@hpbox:/usr/include> find . -name "QPrint*" -ls
  3117496      4 -rw-r--r--   1  root     root           26 Jun 13 06:18 ./qt5/QtPrintSupport/QPrintDialog
  3117497      4 -rw-r--r--   1  root     root           26 Jun 13 06:18 ./qt5/QtPrintSupport/QPrintEngine
  3117498      4 -rw-r--r--   1  root     root           33 Jun 13 06:18 ./qt5/QtPrintSupport/QPrintPreviewDialog
  3117499      4 -rw-r--r--   1  root     root           33 Jun 13 06:18 ./qt5/QtPrintSupport/QPrintPreviewWidget
  3117500      4 -rw-r--r--   1  root     root           22 Jun 13 06:18 ./qt5/QtPrintSupport/QPrinter
  3117501      4 -rw-r--r--   1  root     root           26 Jun 13 06:18 ./qt5/QtPrintSupport/QPrinterInfo

### and finally the build is successful!

comment:5 by Frank Batschulat (Oracle), 5 years ago

### So finally the following config changes and fix will make
### Trunk compile on OpenSuse Tumbleweed successful without the webservices
### thoigh which where running into the GCC 9.x internal compiler error.

1) Virtualbox fix:
------------------

VBox/Trunk fbatschu@hpbox trunk $ svn diff
Index: src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl
===================================================================
--- src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl	(revision 132595)
+++ src/VBox/Frontends/VirtualBox/src/globals/COMWrappers.xsl	(working copy)
@@ -7,7 +7,7 @@
  *  in platform-independent script-like manner.
  */
 
-    Copyright (C) 2006-2016 Oracle Corporation
+    Copyright (C) 2006-2019 Oracle Corporation
 
     This file is part of VirtualBox Open Source Edition (OSE), as
     available from http://www.virtualbox.org. This file is free software;
@@ -300,7 +300,9 @@
     <xsl:text>_h__&#x0A;&#x0A;</xsl:text>
     <xsl:if test="@name='IVirtualBox' or @name='IMachine'">
         <xsl:text>/* Qt includes: */&#x0A;</xsl:text>
-        <xsl:text>#include &lt;QRect&gt;&#x0A;&#x0A;</xsl:text>
+        <xsl:text>#include &lt;QRect&gt;&#x0A;</xsl:text>
+        <xsl:text>#include &lt;QList&gt;&#x0A;</xsl:text>
+        <xsl:text>#include &lt;QStringList&gt;&#x0A;&#x0A;</xsl:text>
     </xsl:if>
     <xsl:text>/* GUI includes: */&#x0A;</xsl:text>
     <xsl:text>#include "COMDefs.h"&#x0A;</xsl:text>

2) config changes :
-------------------

2.1) add woraround for the compiler problem

workaround_2) do not build the webservices entirely
add VBOX_WITH_WEBSERVICES :=
to the LocalConfig.kmk file.

2.2) add the following symlinks for libraries:

hpbox:/usr/lib64 # ln -s /usr/lib64/libQt5X11Extras.so.5.13.0 /usr/lib64/libQt5X11Extras.so

hpbox:/usr/lib64 # ls -la /usr/lib64/libQt5X11*
lrwxrwxrwx 1 root root    36 Jul 31 16:20 /usr/lib64/libQt5X11Extras.so -> /usr/lib64/libQt5X11Extras.so.5.13.0
lrwxrwxrwx 1 root root    25 Jul 10 01:38 /usr/lib64/libQt5X11Extras.so.5 -> libQt5X11Extras.so.5.13.0
lrwxrwxrwx 1 root root    25 Jul 10 01:38 /usr/lib64/libQt5X11Extras.so.5.13 -> libQt5X11Extras.so.5.13.0
-rwxr-xr-x 1 root root 22840 Jul 10 01:38 /usr/lib64/libQt5X11Extras.so.5.13.0

hpbox:/usr/lib64 # ln -s /usr/lib64/libQt5PrintSupport.so.5.13.0 /usr/lib64/libQt5PrintSupport.so

hpbox:/usr/lib64 # ls -la /usr/lib64/libQt5PrintSupport*
lrwxrwxrwx 1 root root     39 Jul 31 16:31 /usr/lib64/libQt5PrintSupport.so -> /usr/lib64/libQt5PrintSupport.so.5.13.0
lrwxrwxrwx 1 root root     28 Jul 13 22:07 /usr/lib64/libQt5PrintSupport.so.5 -> libQt5PrintSupport.so.5.13.0
lrwxrwxrwx 1 root root     28 Jul 13 22:07 /usr/lib64/libQt5PrintSupport.so.5.13 -> libQt5PrintSupport.so.5.13.0
-rwxr-xr-x 1 root root 486480 Jul 13 22:09 /usr/lib64/libQt5PrintSupport.so.5.13.0

2.3) add the following packages:

sudo zypper install acpica kbuild makeself python3-pylint python2-pylint mkisofs
sudo zypper install chrpath doxygen libxslt-tools libxslt1 libxslt-devel xalan-j2-xsltc
sudo zypper install subversion subversion-doc subversion-tools unzip python-devel
sudo zypper install wine winetricks libqt5-qttools libqt5-qttools-devel libqt5-qttools-doc mscgen
sudo zypper install texlive texlive-latex texlive-collection-fontsextra texlive-collection-latexextra
sudo zypper install libIDL-2-0 libidl-devel device-mapper device-mapper-devel
sudo zypper install libxml2-2 libxml2-devel libxml2-doc libxml2-tools
sudo zypper install libSDL-1_2-0 libSDL-devel libSDL2-2_0-0 libSDL2-devel libSDL2_ttf-2_0-0 libSDL2_ttf-devel libSDL_ttf-2_0-0 libSDL_ttf-devel
sudo zypper install libssl47 libpulse0 libpulse-devel libasound2 libXrandr2 libXrandr-devel
sudo zypper install libXinerama1 libXinerama-devel libcap2 libcap1 libcap-devel
sudo zypper install libXmu6 libXmu-devel libXcursor1 libXcursor-devel libcurl4 libopenssl-devel
sudo zypper install libdevmapper1_03 libvpx6 libvpx-devel libQt5OpenGL5 libQt5OpenGL-devel libQt5PlatformHeaders-devel
sudo zypper install gcc gcc-c++ make
sudo zypper install libXt6 libXt-devel libX11-6 libX11-data libX11-devel libXext6 libXext-devel
sudo zypper install pam-devel pam-doc alsa alsa-devel alsa-utils linux-glibc-devel kernel-devel
sudo zypper install opus-tools install libopus0 libopus-devel libcurl-devel 
sudo zypper install libQt5X11Extras5 libqt5-qtx11extras-devel
sudo zypper install libQt5PrintSupport-devel libQt5PrintSupport-private-headers-devel
### 32bit:
sudo zypper install libQt5PrintSupport5-32bit libQt5PrintSupport-devel-32bit
sudo zypper install libQt5X11Extras5-32bit libqt5-qtx11extras-devel-32bit libopus0-32bit
sudo zypper install libasound2-32bit libssl47-32bit libcurl4-32bit libdevmapper1_03-32bit
sudo zypper install libcurl-devel-32bit libdevmapper-event1_03-32bit libQt5X11Extras5-32bit
sudo zypper install libXext6-32bit libX11-6-32bit libXext-devel-32bit libX11-devel-32bit
sudo zypper install libXt6-32bit libXt-devel-32bit gcc-32bit gcc-c++-32bit
sudo zypper install device-mapper-devel-32bit

3) thats in detail what I have build with:
------------------------------------------
VBox/Trunk fbatschu@hpbox trunk $ ./configure --disable-hardening
Checking for environment: Determined build machine: linux.amd64, target machine: linux.amd64, OK.
Checking for kBuild: found, OK.
Checking for gcc: found version 9.1.1, OK.
Checking for Open Watcom: found version 1.9, OK.
Checking for iasl: found version 20100528, OK.
Checking for xslt: found, OK.
Checking for pthread: found, OK.
Checking for libxml2: found version 2.9.9, OK.
Checking for libIDL: found version 0.8.14, OK.
Checking for libcurl: found version 7.65.3, OK.
Checking for libvpx: found version 1.8.1, OK.
Checking for libopus: found, OK.
Checking for zlib: found version 1.2.11, OK.
Checking for libpng: found version 1.6.37, OK.
Checking for pam: pam0.x not found
Checking for linux_pam: found version 1.0, OK.
Checking for SDL: found version 1.2.15, OK.
Checking for SDL_ttf: found version 2.0.11, OK.
Checking for X libraries: found, OK.
Checking for Xcursor: found, OK.
Checking for Xinerama: found, OK.
Checking for Xrandr: found, OK.
Checking for Xmu: found, OK.
Checking for Mesa / GLU: found version 1.4, OK.
Checking for Qt5: found version 5.13.0, OK.
Checking for Qt5 devtools: found version moc 5.13.0, OK.
Checking for Python support: found version 2.7.16, OK.
Checking for Java support: OK.
Checking for PulseAudio: found version 12.2.0 API version 12, OK.
Checking for Linux kernel sources: found version 5.2.3, OK.
Checking for ALSA: found version 1.1.9, OK.
Checking for libdevmapper: found version 1.03.01 (2018-07-19), OK.
Checking for libcap library: found, OK.
Checking for compiler.h: compiler.h not found, OK.
Checking for 32-bit support: OK.

fbatschu@hpbox:~> cat LocalConfig.kmk 
VBOX_WITH_TESTCASES        :=
VBOX_WITH_VALIDATIONKIT    :=
VBOX_WITHOUT_HARDENING  := 1
VBOX_WITHOUT_DOCS := 1
VBOX_WITH_WEBSERVICES :=
VBOX_WITH_LINUX_COMPILER_H :=
------------------------------------------------------------------

comment:6 by Frank Batschulat (Oracle), 5 years ago

I can also successfully compile the fix and build the entire thing with it on:

Linux 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)

$ cat /etc/os-release 
NAME="Linux Mint"
VERSION="19.1 (Tessa)"
ID=linuxmint
ID_LIKE=ubuntu
PRETTY_NAME="Linux Mint 19.1"
VERSION_ID="19.1"
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.ubuntu.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=tessa
UBUNTU_CODENAME=bionic

The QT5 Version was: 5.9.5

Last edited 5 years ago by Frank Batschulat (Oracle) (previous) (diff)

by Frank Batschulat (Oracle), 5 years ago

Attachment: fbatschu-07082019.patch added

diffs from 07082019

by Frank Batschulat (Oracle), 5 years ago

Attachment: fbatschu-07082019-2.patch added

2nd version of the patch

comment:7 by Frank Batschulat (Oracle), 5 years ago

The fix also succesfully builds using the VBOX internal QT5 version in trunk/tools (add VBOX_WITH_TOOLS_QT_LINUX := 1 to LocalConfig.kmk) which is currently at Version 5.6.1

comment:8 by Frank Batschulat (Oracle), 5 years ago

This has been fixed in trunk as discussed.

Committed revision 132630.

comment:9 by Frank Batschulat (Oracle), 5 years ago

Owner: set to Frank Batschulat (Oracle)
Status: newaccepted

comment:10 by Frank Batschulat (Oracle), 5 years ago

Resolution: fixed
Status: acceptedclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use