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)
Change History (13)
comment:1 by , 5 years ago
comment:2 by , 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 , 5 years ago
| Attachment: | package-list-05042019-hpbox.txt.bz2 added |
|---|
Package list from my build server
comment:3 by , 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.
comment:4 by , 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: */
</xsl:text>
303 <xsl:text>#include <QRect>

</xsl:text>
304 </xsl:if>
[...]
480 <xsl:text> void SetExtraDataBool(const QString &strKey, bool fValue);
481 bool GetExtraDataBool(const QString &strKey, bool fDef = true);
482 void SetExtraDataInt(const QString &strKey, int value);
483 int GetExtraDataInt(const QString &strKey, int def = 0);
484 void SetExtraDataRect(const QString &strKey, const QRect &value);
485 QRect GetExtraDataRect(const QString &strKey, const QRect &def = QRect());
486 void SetExtraDataStringList(const QString &strKey, const QStringList &value);
487 QStringList GetExtraDataStringList(const QString &strKey, QStringList def = QStringList());
488 void SetExtraDataIntList(const QString &strKey, const QList<int> &value);
489 QList<int> GetExtraDataIntList(const QString &strKey, QList<int> def = QList<int>());
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 &strKey, const QRect &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 &strKey, QStringList def /* = QStringList() */)</xsl:text>
970 <xsl:text>
[...]
992 </xsl:text>
993
994 <xsl:text>QList<int> C</xsl:text>
995 <xsl:value-of select="substring(@name,2)"/>
996 <xsl:text>::GetExtraDataIntList(const QString &strKey, QList<int> def /* = QList<int>() */)</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: */
</xsl:text>
<xsl:text>#include <QRect>
</xsl:text>
+ <xsl:text>#include <QList>
</xsl:text>
+ <xsl:text>#include <QStringList>

</xsl:text>
</xsl:if>
<xsl:text>/* GUI includes: */
</xsl:text>
<xsl:text>#include "COMDefs.h"
</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 , 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__

</xsl:text>
<xsl:if test="@name='IVirtualBox' or @name='IMachine'">
<xsl:text>/* Qt includes: */
</xsl:text>
- <xsl:text>#include <QRect>

</xsl:text>
+ <xsl:text>#include <QRect>
</xsl:text>
+ <xsl:text>#include <QList>
</xsl:text>
+ <xsl:text>#include <QStringList>

</xsl:text>
</xsl:if>
<xsl:text>/* GUI includes: */
</xsl:text>
<xsl:text>#include "COMDefs.h"
</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 , 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
comment:7 by , 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:9 by , 5 years ago
| Owner: | set to |
|---|---|
| Status: | new → accepted |
comment:10 by , 5 years ago
| Resolution: | → fixed |
|---|---|
| Status: | accepted → closed |


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 --+-----------------+-------------------------------------------------+--------
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 :
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,
/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:336:93: error: invalid use of incomplete type ‘class QStringList’
In file included from /usr/include/qt5/QtCore/QString:1,
/usr/include/qt5/QtCore/qstring.h:86:7: note: forward declaration of ‘class QStringList’
In file included from /site/ws/vbox/trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumDefs.h:32,
/site/ws/vbox/trunk/out/linux.amd64/debug/obj/UICommon/include/CVirtualBox.h:338:87: error: invalid use of incomplete type ‘class QList<int>’
In file included from /usr/include/qt5/QtCore/qglobal.h:1218,
/usr/include/qt5/QtCore/qtypeinfo.h:212:29: note: declaration of ‘class QList<int>’
/usr/include/qt5/QtCore/qtypeinfo.h:194:29: note: in definition of macro ‘Q_DECLARE_MOVABLE_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 $