app-emulation/virtualbox-6.0.0 fails to build with MAKEOPTS=-j4 but builds fine with MAKEOPTS=-j1 The errors produced are slightly different on each run, but generally refer to missing files. Here is an example: > 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 -march=corei7 -O2 -pipe -funit-at-a-time -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fvisibility-inlines-hidden -fPIC -std=c++0x -m64 -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/NetworkServices/Dhcpd -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Devices/Network/lwip-new/src/include -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Devices/Network/lwip-new/src/include/ipv4 -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Devices/Network/lwip-new/src/include/ipv6 -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Devices/Network/lwip-new/vbox/include -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Devices/Network/lwip-new/vbox -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/string -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/nsprpub -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/ipcd -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/obj/VBoxNetDhcpd/dtrace -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/include -I/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DVBOX_WITH_RAW_MODE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/usr/share/virtualbox\" -DRTPATH_APP_PRIVATE_ARCH=\"/usr/lib64/virtualbox\" -DRTPATH_SHARED_LIBS=\"/usr/lib64/virtualbox\" -DRTPATH_APP_DOCS=\"\" -DIN_RING3 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DPIC -DKBUILD_TYPE=\"release\" -DVBOX_WITH_XPCOM -Wp,-MD,/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o.dep -Wp,-MT,/tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o -Wp,-MP -o /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Main/glue/VBoxLogRelCreate.cpp > In file included from /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nsID.h:44, > from /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/include/VBox/com/defs.h:286, > from /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/include/VBox/com/com.h:29, > from /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/src/VBox/Main/glue/VBoxLogRelCreate.cpp:22: > /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nscore.h:51:10: fatal error: prtypes.h: No such file or directory > #include "prtypes.h" > ^~~~~~~~~~~ > compilation terminated. > kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:226: /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o] Error 1
I just hit the same problem with 6.0.4 version. In file included from /var/tmp/portage/app-emulation/virtualbox-6.0.4/work/VirtualBox-6.0.4/src/VBox/HostServices/SharedOpenGL/render/renderspu.c:11: /var/tmp/portage/app-emulation/virtualbox-6.0.4/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/cr_spu.h:16:10: fatal error: spu_dispatch_table.h: No such file or directory #include "spu_dispatch_table.h" ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:221: /var/tmp/portage/app-emulation/virtualbox-6.0.4/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLrenderspu/render/renderspu.o] Error 1 kmk: *** Waiting for unfinished jobs.... With MAKEOPTS=-j1 no problem at all, but compiling with just 1 thread on 4C/8T system is really BAD...
*** Bug 676228 has been marked as a duplicate of this bug. ***
(In reply to Jiří Moravec from comment #1) > I just hit the same problem with 6.0.4 version. May I ask your USE flags for the package? I suspect that it may be USE flag dependent because I have two systems with different USE flags, one of which reliably builds OK with 'MAKEOPTS=-j7 -l6', the other needs 'MAKEOPTS=-j1' The working one has: # equery u virtualbox [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for app-emulation/virtualbox-6.0.4: U I + + alsa : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - headless : Build without any graphic frontend - - java : Add support for Java - - libressl : Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag) + + lvm : Build VBoxVolInfo that needs devicemapper from sys-fs/lvm2. + + opengl : Add support for OpenGL (3D graphics) + + opus : Enable Opus audio codec support + + pam : Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip - - pax_kernel : Apply patch needed for pax enabled kernels. + + pulseaudio : Add support for PulseAudio sound server - - python : Add optional support/bindings for the Python language + + python_targets_python2_7 : Build with Python 2.7 + + qt5 : Add support for the Qt 5 application and UI framework - - sdk : Enable building of SDK + + udev : Controls installation of special USB udev rules. - - vboxwebsrv : Build and install the VirtualBox webservice + + vnc : Enable VNC (remote desktop viewer) support The failing one has: # equery u virtualbox [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for app-emulation/virtualbox-6.0.4: U I + + alsa : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - headless : Build without any graphic frontend + + java : Add support for Java - - libressl : Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag) + + lvm : Build VBoxVolInfo that needs devicemapper from sys-fs/lvm2. + + opengl : Add support for OpenGL (3D graphics) + + opus : Enable Opus audio codec support + + pam : Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip - - pax_kernel : Apply patch needed for pax enabled kernels. + + pulseaudio : Add support for PulseAudio sound server - - python : Add optional support/bindings for the Python language + + python_targets_python2_7 : Build with Python 2.7 + + qt5 : Add support for the Qt 5 application and UI framework + + sdk : Enable building of SDK + + udev : Controls installation of special USB udev rules. + + vboxwebsrv : Build and install the VirtualBox webservice + + vnc : Enable VNC (remote desktop viewer) support
$ equery u virtualbox [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for app-emulation/virtualbox-6.0.4: U I + + alsa : Add support for media-libs/alsa-lib (Advanced Linux Sound Architecture) - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces - - doc : Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally - - headless : Build without any graphic frontend + + java : Add support for Java - - libressl : Use dev-libs/libressl instead of dev-libs/openssl when applicable (see also the ssl useflag) - - lvm : Build VBoxVolInfo that needs devicemapper from sys-fs/lvm2. + + opengl : Add support for OpenGL (3D graphics) + + opus : Enable Opus audio codec support + + pam : Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip - - pax_kernel : Apply patch needed for pax enabled kernels. - - pulseaudio : Add support for PulseAudio sound server + + python : Add optional support/bindings for the Python language + + python_targets_python2_7 : Build with Python 2.7 + + qt5 : Add support for the Qt 5 application and UI framework + + sdk : Enable building of SDK + + udev : Controls installation of special USB udev rules. - - vboxwebsrv : Build and install the VirtualBox webservice + + vnc : Enable VNC (remote desktop viewer) support
I guess it's USE=java or USE=sdk (or both). Time for some experimenting, as soon as I have some time for it.
$ USE="-java -python -sdk" ebuild virtualbox-6.0.4.ebuild compile has succeeded...
Yep. Disabling java made the trick. USE="alsa java opengl opus pam python qt5 sdk udev vnc -java -debug -doc -headless -libressl -lvm -pax_kernel -pulseaudio -vboxwebsrv" ebuild virtualbox-6.0.4.ebuild clean compile install was complete success...
The java USE flag seems to be a red herring. I see the build failures with -java USE="alsa opengl opus pam pulseaudio python qt5 sdk udev vnc -debug -doc -headless -java -libressl -lvm -pax_kernel -vboxwebsrv" PYTHON_TARGETS="python2_7"
(In reply to peteru from comment #8) > The java USE flag seems to be a red herring. I see the build failures with > -java > > USE="alsa opengl opus pam pulseaudio python qt5 sdk udev vnc -debug -doc > -headless -java -libressl -lvm -pax_kernel -vboxwebsrv" > > PYTHON_TARGETS="python2_7" Try "-sdk" then...
The error message in the bug report is clear enough. The build fails while building the SDK, as evidenced by: > /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nscore.h:51:10: fatal error: prtypes.h: No such file or directory It stands to reason that the Makefiles for the SDK portion are broken. However, it could be that the same issues are present in other parts of the VirtualBox build infrastructure and a parallel make may fail elsewhere.
(In reply to peteru from comment #10) > The error message in the bug report is clear enough. The build fails while > building the SDK, as evidenced by: > > > /tmp/portage/app-emulation/virtualbox-6.0.0/work/VirtualBox-6.0.0/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nscore.h:51:10: fatal error: prtypes.h: No such file or directory > > It stands to reason that the Makefiles for the SDK portion are broken. > However, it could be that the same issues are present in other parts of the > VirtualBox build infrastructure and a parallel make may fail elsewhere. For me USE="alsa opengl opus pam -pulseaudio python qt5 sdk udev vnc -debug -doc -headless -java -libressl -lvm -pax_kernel -vboxwebsrv" ebuild virtualbox-6.0.4.ebuild clean compile is fine for me with 100% success. Which has small difference from yours. I haven't pulseaudio on my system. Maybe you should try compile virtualbox with USE="-pulseaudio sdk". Just for curiosity...
I just emerged media-sound/pulseaudio-12.2 with media-plugins/alsa-plugins-1.1.8. After this "USE="alsa opengl opus pam pulseaudio python qt5 sdk udev vnc -debug -doc -headless -java -libressl -lvm -pax_kernel -vboxwebsrv" ebuild virtualbox-6.0.4.ebuild clean compile" succeeded without hiccup. And now even full 'FEATURES="-ccache" USE="alsa opengl opus pam pulseaudio python qt5 sdk udev vnc -debug -doc -headless java -libressl -lvm -pax_kernel -vboxwebsrv" ebuild virtualbox-6.0.4.ebuild clean compile' succeeded. That's crazy!!
You are just wasting CPU cycles. This is a typical race condition. It may show up every time, never, 90% of the time or once in a blue moon. Just fiddling with the use flags is not much help either. The virtualbox build system is broken due to a race condition. In the original bug report, the problem is that some targets in the SDK tree do not specify all their dependencies. As a result, during a parallel build, those targets are being built before their dependencies exist. Just changing USE flags is not a fix or even a workaround. The workaround is MAKEOPTS=-j1, which sucks in terms of performance. The fix is to correctly specify all the dependencies.
(In reply to peteru from comment #13) > You are just wasting CPU cycles. This is a typical race condition. It may > show up every time, never, 90% of the time or once in a blue moon. Just > fiddling with the use flags is not much help either. The virtualbox build > system is broken due to a race condition. In the original bug report, the > problem is that some targets in the SDK tree do not specify all their > dependencies. As a result, during a parallel build, those targets are being > built before their dependencies exist. > > Just changing USE flags is not a fix or even a workaround. The workaround is > MAKEOPTS=-j1, which sucks in terms of performance. The fix is to correctly > specify all the dependencies. I know, it's just interesting... And its energy consumption is actually negligible comparing with CPU load from other tasks. :-)
Just to supply another mode of failure... Changing USE flags to -sdk -python -java still results in a fail, this time in the OpenGL subtree: gcc -c -O2 -g -pipe -march=corei7 -O2 -pipe -funit-at-a-time -fno-omit-frame-pointer -fno-strict-aliasing -fvisibility=hidden -DVBOX_HAVE_VISIBILITY_HIDDEN -DRT_USE_VISIBILITY_DEFAULT -fPIC -Wno-sign-compare -Werror-implicit-function-declaration -m64 -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/include/VBox/Graphics -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/glproto-1.4.10 -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/Additions/x11/x11include/mesa-7.2 -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLgen -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/dtrace -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/include -I/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release -DVBOX -DVBOX_OSE -DVBOX_WITH_64_BITS_GUESTS -DVBOX_WITH_REM -DVBOX_WITH_RAW_MODE -DRT_OS_LINUX -D_FILE_OFFSET_BITS=64 -DRT_ARCH_AMD64 -D__AMD64__ -DVBOX_WITH_DEBUGGER -DVBOX_WITH_HARDENING -DRTPATH_APP_PRIVATE=\"/usr/share/virtualbox\" -DRTPATH_APP_PRIVATE_ARCH=\"/usr/lib64/virtualbox\" -DRTPATH_SHARED_LIBS=\"/usr/lib64/virtualbox\" -DRTPATH_APP_DOCS=\"\" -DCHROMIUM_THREADSAFE -DVBOX_WITH_HGCM -DUNPACKS -DIN_RING3 -DHC_ARCH_BITS=64 -DGC_ARCH_BITS=64 -DVBOX_WITH_DTRACE -DVBOX_WITH_DTRACE_R3 -DPIC -DVBOX_WITH_CRHGSMI -DLinux=1 -D_GNU_SOURCE -Wp,-MD,/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/pixel.o.dep -Wp,-MT,/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/pixel.o -Wp,-MP -o /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/pixel.o /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/util/pixel.c In file included from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/state/cr_client.h:12, from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/cr_pixeldata.h:11, from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/util/pixel.c:7: /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/state/cr_bufferobject.h:12:10: fatal error: state/cr_statefuncs.h: No such file or directory #include "state/cr_statefuncs.h" ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:221: /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/pixel.o] Error 1 kmk: *** Waiting for unfinished jobs.... In file included from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/state/cr_client.h:12, from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/cr_pixeldata.h:11, from /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/util/net.c:27: /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/include/state/cr_bufferobject.h:12:10: fatal error: state/cr_statefuncs.h: No such file or directory #include "state/cr_statefuncs.h" ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:221: /tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/net.o] Error 1 kmk_builtin_append -n "/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxOGLhostcrutil/util/matrix.o.dep" "" "/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/GuestHost/OpenGL/util/matrix.c:" "" kmk_builtin_append -n "/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/out/linux.amd64/release/obj/VBoxSVGA3D/Graphics/shaderlib/directx.o.dep" "" "/tmp/portage/app-emulation/virtualbox-6.0.4-r1/work/VirtualBox-6.0.4/src/VBox/Devices/Graphics/shaderlib/directx.c:" "" kmk: *** Exiting with status 2 Bottom line is, virtualbox is broken with parallel make. Quick fix would be to force MAKEOPTS=-j1 in the ebuild.
probably a dupe of 505482
I can confirm the problem with app-emulation/virtualbox-6.0.8 and USE="alsa java opengl opus pam pulseaudio python qt5 sdk udev vnc" /home/notmpfs/portage/app-emulation/virtualbox-6.0.8/work/VirtualBox-6.0.8/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nscore.h:51:10: fatal error: prtypes.h: No such file or directory #include "prtypes.h" ^~~~~~~~~~~
Happans also with virtualbox-6.0.10
Same with virtualbox-6.0.12 USE="alsa opengl opus pam pulseaudio qt5 sdk udev" MAKEOPTS="-j8 -l8" In file included from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/include/VBox/com/com.h:32, from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/src/VBox/Main/glue/VBoxLogRelCreate.cpp:22: /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/include/VBox/com/defs.h:289:10: fatal error: nsID.h: No such file or directory 289 | #include <nsID.h> | ^~~~~~~~ compilation terminated. kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:226: /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o] Error 1
same with 6.0.12, USE="opengl opus pam pulseaudio python qt5 sdk udev -alsa -debug -doc -dtrace -headless -java -libressl -lvm -pax_kernel -vboxwebsrv -vnc" > In file included from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nsID.h:44, > from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/include/VBox/com/defs.h:289, > from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/include/VBox/com/com.h:32, > from /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/src/VBox/Main/glue/VBoxLogRelCreate.cpp:22: > /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/out/linux.amd64/release/bin/sdk/bindings/xpcom/include/xpcom/nscore.h:51:10: fatal error: prtypes.h: No such file or directory > #include "prtypes.h" > ^~~~~~~~~~~ > compilation terminated. > kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:226: /var/tmp/portage/app-emulation/virtualbox-6.0.12/work/VirtualBox-6.0.12/out/linux.amd64/release/obj/VBoxNetDhcpd/dt/dt/Main/glue/VBoxLogRelCreate.o] Error 1
And it still occurs with 6.0.14.
The problem doesn't occur with version 6.1.0, or it was just by chance.
No longer occurs on 6.1.4-r1.
It's a race condition, so it may not show for some people some of the time. I've encountered a problem on first build of 6.1.4-r1, however a second build completed without failure.
Yup, race condition. /etc/make.conf MAKEOPTS="-j1" ... and sit back and wait an hour or so for compiling to complete.
I compile with -j12 and never had this issue. I know this is not a guarantee, so please reopen if you find this again, and attach a full build log.
For some reason, reported this in the wrong duplicated bug: Failing with 7.1.4, but succeeds with MAKEOPTS=-j1 This happened in a system that's never had VirtualBox; it did build successfully with parallel make on another system. Hope this helps!
Created attachment 920104 [details] build.log of failing vbox build with parallel make
I don't understand, it was confirmed just one day before being marked as 'obsolate'. With a very useful piece of information: will probably build fine in parallel _if_ it's already installed.
I'm not sure if you've misread. It was reopened? (As for UNCO vs CONF, we don't really bother with that in Gentoo).