[vbox-dev] building VirtualBox source with latest linux build toolchain??

John Lumby jlumby at bluecatnetworks.com
Wed Jan 17 21:41:58 GMT 2024


I am trying to build VirtualBox source on my up-to-date archlinux amd-64bit system, which has toolchain versions
gcc/g++ 13.2.1 20230801
binutils     2.41.0

my build commands are  

./configure --disable-hardening --build-libxml2 --build-libcurl --disable-alsa --disable-pulse --build-headless --enable-vnc --with-iasl=/opt/acpica_local/bin/iasl --disable-vmmraw --disable-java --disable-qt --disable-docs      /*   successful */

kmk KBUILD_VERBOSE=2 --jobs=2 all    /*  (the one which fails   */

I have tried building each of  7.0.14a and current trunk checked out by svn,    with different failures in each case,       but each possibly indicating some kind of incompatibility with one of the compiler/assemblers

For 7.0.14a ,     what I think is the fatal problem is this :

g++ -c -O2 -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 -O2 -mtune=generic -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -std=c++11 -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -ffunction-sections -fdata-sections -fno-pie -fno-merge-constants -ffreestanding -fno-stack-protector  -m64 -Wno-shadow -I/opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver -I/opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3 -I/opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3/X11 -I/opt/VirtualBox-7.0.14/out/linux.amd64/release/obj/VBoxGuestR3LibXFree86/dtrace -I/opt/VirtualBox-7.0.14/include -I/opt/VirtualBox-7.0.14/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DIN_RING3 -DIN_GUEST -DIN_GUEST_R3 -DIN_RT_R3 -DIN_RT_STATIC -DGC_ARCH_BITS=64 -DRT_NEED_NEW_AND_DELETE -DVBOX_GUESTR3XF86MOD -DRTMEM_NO_WRAP_TO_EF_APIS -DVBOX_WITH_HGCM -DVBOX_VBGLR3_XFREE86 -DRTMEM_NO_WRAP_TO_EF_APIS -DVBOX_WITH_GUEST_PROPS -DVBOX_WITH_DRAG_AND_DROP -DVBOX_WITH_DRAG_AND_DROP_GH -DHC_ARCH_BITS=64 -Wp,-MD,/opt/VirtualBox-7.0.14/out/linux.amd64/release/obj/VBoxGuestR3LibXFree86/VBoxGuestR3LibRuntimeXF86.o.dep -Wp,-MT,/opt/VirtualBox-7.0.14/out/linux.amd64/release/obj/VBoxGuestR3LibXFree86/VBoxGuestR3LibRuntimeXF86.o -Wp,-MP -o /opt/VirtualBox-7.0.14/out/linux.amd64/release/obj/VBoxGuestR3LibXFree86/VBoxGuestR3LibRuntimeXF86.o /opt/VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
In file included from /usr/include/c++/13.2.1/cmath:41,
                 from /usr/include/c++/13.2.1/math.h:36,
                 from /opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h:179,
                 from /opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/xf86_ansic.h:90,
                 from /opt/VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp:49:
/usr/include/c++/13.2.1/bits/requires_hosted.h:34:4: error: #error "This header is not available in freestanding mode."
   34 | #  error "This header is not available in freestanding mode."
      |    ^~~~~
In file included from /usr/include/features.h:503,
                 from /usr/include/sys/types.h:25,
                 from /opt/VirtualBox-7.0.14/include/iprt/types.h:204,
                 from /opt/VirtualBox-7.0.14/include/iprt/assert.h:43,
                 from /opt/VirtualBox-7.0.14/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp:43:
/usr/include/stdlib.h:740:38: error: 'int at_quick_exit(void (*)())' conflicts with a previous declaration
  740 |      __THROW __asm ("at_quick_exit") __nonnull ((1));
      |                                      ^~~~~~~~~
In file included from /usr/include/c++/13.2.1/stdlib.h:36,
                 from /opt/VirtualBox-7.0.14/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h:152:
/usr/include/c++/13.2.1/cstdlib:63:18: note: previous declaration 'int std::at_quick_exit(void (*)())'
   63 |   extern "C" int at_quick_exit(void (*)(void)) _GLIBCXX_NOTHROW;
      |                  ^~~~~~~~~~~~~
kmk: *** [/opt/VirtualBox-7.0.14/kBuild/footer-pass2-compiling-targets.kmk:277: /opt/VirtualBox-7.0.14/out/linux.amd64/release/obj/VBoxGuestR3LibXFree86/VBoxGuestR3LibRuntimeXF86.o] Error 1


for current trunk,       there is no obvious single cause of overall failure  -    it is confusing (to me).
I see four lines at various places all saying
: error: warnings being treated as errors
'
the last of these occurs near the end is is preceded by

kmk: /usr/lib64/qt6/bin/lrelease: Command not found
kmk: *** [/opt/VirtualBox-rev102907/kBuild/units/qt6.kmk:612: /opt/VirtualBox-rev102907/out/linux.amd64/release/obj/VirtualBoxAPI/qtnls/VirtualBoxAPI_ru.qm] Error 127
kmk: *** Waiting for unfinished jobs....
: error: warnings being treated as errors

my system does have qt6 and there is a directory /usr/lib64/qt6/bin with about 20 executables in it,  none of which is lrelease whatever that is,      and my system does have an executable file /sbin/lrelease

Since I don't understand these failures and also don't see any obvious corrective action I can take,   I am wondering if my archlinux build environment is somehow too new?      Has anyone else built VirtualBox source with gcc 13.2.1?

Cheers,    John Lumby




More information about the vbox-dev mailing list