I found 2 errors when compiling virtualbox-6.1.6 with gcc-10.1.0 : 1) Makefile.kmk:195 error gcc >= 4.4 required when compiling against Qt5! This is due to the fact that "ifeq ($(int-ge $(VBOX_GCC_VERSION_CXX),40400),)" fails as code to get VBOX_GCC_VERSION_CXX does not correctly handle major versions of gcc to be above 9 and fails... returning 10000 instead of 1000100 Here is a patch to correct this to eapply through the ebuild: > cat /usr/local/portage/app-emulation/virtualbox/files/gcc10.1_vbox_gcc_version.patch --- VirtualBox-6.1.6/Config.kmk 2020-05-10 19:06:16.245769049 +0200 +++ VirtualBox-6.1.6/Config.kmk 2020-05-10 19:06:40.086107339 +0200 @@ -2685,7 +2685,7 @@ # Some versions of gcc (e.g. openSUSE11) return only major.minor on `gcc -dumpversion`. # gcc-5 of openSUSE42.1 only returns the major version on `gcc -dumpversion`! VBOX_GCC_VERSION = $(shell ($(1) -dumpfullversion 2>/dev/null || $(1) -dumpversion) | \ - $(SED_EXT) 's|\([0-9]\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' ) + $(SED_EXT) 's|\([0-9]\{1,2\}\)\.\{0,1\}\([0-9]\{0,1\}\)\.\{0,1\}\([0-9]\{0,1\}\).*|$$(int-add $$(int-mul 10000, \1), $$(int-mul 100, $$(firstword \2 0)), $$(firstword \3 0))|' ) endif # YASM macros 2) Once I correct this first error we get further but fail on : /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCDumpImage.cpp: Dans la fonction « const char* dbgcMachoCpuType(uint32_t, uint32_t) »: /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/iprt/formats/mach-o.h:41:46: erreur: conversion réductrice de « -1 » depuis « int » vers « unsigned int » [-Wnarrowing] That is corrected by adding -Wnarrowing to VBOX_GCC_OPT in the ebuild. Here is the global patch to apply to the ebuild for these 2 corrections > diff -U3 /usr/portage/app-emulation/virtualbox/virtualbox-6.1.6.ebuild /usr/local/portage/app-emulation/virtualbox/virtualbox-6.1.6-r1.ebuild --- /usr/portage/app-emulation/virtualbox/virtualbox-6.1.6.ebuild 2020-04-18 18:09:53.000000000 +0200 +++ /usr/local/portage/app-emulation/virtualbox/virtualbox-6.1.6-r1.ebuild 2020-05-10 22:22:51.762529310 +0200 @@ -207,6 +207,8 @@ eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch fi + eapply "${FILESDIR}"/gcc10.1_vbox_gcc_version.patch + eapply "${WORKDIR}/patches" eapply_user @@ -265,7 +267,7 @@ TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ - VBOX_GCC_OPT="${CXXFLAGS}" \ + VBOX_GCC_OPT="${CXXFLAGS} -Wno-narrowing" \ TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \ VBOX_WITH_VBOXIMGMOUNT=1 \ all Reproducible: Always Steps to Reproduce: 1.set gcc-10.1.0 as system compiler with gcc-config (& . /etc/profile) 2.emerge virtualbox 3. Actual Results: see description Expected Results: Emerge success
Created attachment 638426 [details, diff] gcc10.1_vbox_gcc_version.patch
Created attachment 638428 [details, diff] ebuild.patch
Voting for this bug, 'cause it also affects me. Proposed solution works. Probably it'll be some time before upstream fixes that.
I have the same problem. // ---- My Error ---- In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include/stdint.h:9, from /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/iprt/stdint.h:58, from /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/iprt/types.h:33, from /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/VBox/types.h:33, from /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/VBox/dbg.h:37, from /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCDumpImage.cpp:23: /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCDumpImage.cpp: In function ‘const char* dbgcMachoCpuType(uint32_t, uint32_t)’: /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/include/iprt/formats/mach-o.h:41:46: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ [-Wnarrowing] 41 | #define CPU_TYPE_ANY INT32_C(-1) | ^ /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCDumpImage.cpp:471:14: note: in expansion of macro ‘CPU_TYPE_ANY’ 471 | case CPU_TYPE_ANY: return "CPU_TYPE_ANY"; | ^~~~~~~~~~~~ kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:226: /var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/out/linux.amd64/release/obj/Debugger/DBGCDumpImage.o] Error 1 kmk: *** Waiting for unfinished jobs.... kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/out/linux.amd64/release/obj/Debugger/DBGCFunctions.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCFunctions.cpp:" "" kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/out/linux.amd64/release/obj/Debugger/DBGCEval.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCEval.cpp:" "" kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/out/linux.amd64/release/obj/Debugger/DBGConsole.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGConsole.cpp:" "" kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/out/linux.amd64/release/obj/Debugger/DBGCCommands.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6/src/VBox/Debugger/DBGCCommands.cpp:" "" kmk: *** Exiting with status 2 * ERROR: app-emulation/virtualbox-6.1.6::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-emulation/virtualbox-6.1.6::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-emulation/virtualbox-6.1.6::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-emulation/virtualbox-6.1.6/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-emulation/virtualbox-6.1.6/temp/environment'. * Working directory: '/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6' * S: '/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6' !!! When you file a bug report, please include the following information: GENTOO_VM= CLASSPATH="" JAVA_HOME="" JAVACFLAGS="" COMPILER="" and of course, the output of emerge --info =virtualbox-6.1.6 >>> Failed to emerge app-emulation/virtualbox-6.1.6, Log file: >>> '/var/tmp/portage/app-emulation/virtualbox-6.1.6/temp/build.log' * Messages for package app-emulation/virtualbox-6.1.6: * User patches applied. * ERROR: app-emulation/virtualbox-6.1.6::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=app-emulation/virtualbox-6.1.6::gentoo'`, * the complete build log and the output of `emerge -pqv '=app-emulation/virtualbox-6.1.6::gentoo'`. * The complete build log is located at '/var/tmp/portage/app-emulation/virtualbox-6.1.6/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/app-emulation/virtualbox-6.1.6/temp/environment'. * Working directory: '/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6' * S: '/var/tmp/portage/app-emulation/virtualbox-6.1.6/work/VirtualBox-6.1.6'
Upstream already fixed this issues: 1) for GCC-10: https://www.virtualbox.org/changeset/84159/vbox 2) for error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ [-Wnarrowing] https://www.virtualbox.org/changeset/84158/vbox I think virtualbox-6.1.10 already has this fixes.
Patches working.
(In reply to Viktor Yu. Kovalskii from comment #5) > Upstream already fixed this issues: > > 1) for GCC-10: > > https://www.virtualbox.org/changeset/84159/vbox > > 2) for error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ > [-Wnarrowing] > > https://www.virtualbox.org/changeset/84158/vbox > > I think virtualbox-6.1.10 already has this fixes. Well then we can close this bug.