Created attachment 587604 [details] compressed build.log Trying to update VirtualBox ends with the following error: [...] In file included from /usr/include/GL/gl.h:2055, from /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/include/VBox/VBoxGL2D.h:35, from /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp:54: /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/src/VBox/GuestHost/OpenGL/include/GL/glext.h: At global scope: /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/src/VBox/GuestHost/OpenGL/include/GL/glext.h:4244:25: error: conflicting declaration ‘typedef void (* PFNGLSHADERSOURCEPROC)(GLuint, GLsize i, const GLchar**, const GLint*)’ 4244 | typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length); | ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/qt5/QtGui/qopengl.h:105, from /usr/include/qt5/QtOpenGL/qgl.h:45, from /usr/include/qt5/QtOpenGL/QGLWidget:1, from /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/src/VBox/HostServices/SharedOpenGL/OpenGLTest/OpenGLTestApp.cpp:52: /usr/include/GLES3/gl32.h:483:28: note: previous declaration as ‘typedef void (* PFNGLSHADERSOURCEPROC)(GLuint, GLsizei, const GLchar* const*, const GLint*)’ 483 | typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); | ^~~~~~~~~~~~~~~~~~~~~ kmk: *** [/usr/share/kBuild/footer-pass2-compiling-targets.kmk:226: /var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/out/linux.amd64/release/obj/VBoxTestOGL/OpenGLTest/OpenGLTestApp.o] Err or 1 kmk: *** Waiting for unfinished jobs.... kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/out/linux.amd64/release/obj/VBoxManage/VBoxManageUSB.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/ work/VirtualBox-6.0.10/src/VBox/Frontends/VBoxManage/VBoxManageUSB.cpp:" "" kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/out/linux.amd64/release/obj/VBoxManage/VBoxManageNATNetwork.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.0 .10-r2/work/VirtualBox-6.0.10/src/VBox/Frontends/VBoxManage/VBoxManageNATNetwork.cpp:" "" kmk_builtin_append -n "/var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/out/linux.amd64/release/obj/VBoxManage/VBoxManageStorageController.o.dep" "" "/var/tmp/portage/app-emulation/virtualbox-6.0.10-r2/work/VirtualBox-6.0.10/src/VBox/Frontends/VBoxManage/VBoxManageStorageController.cpp:" "" kmk: *** Exiting with status 2 * ERROR: app-emulation/virtualbox-6.0.10-r2::gentoo failed (compile phase): * emake failed `emerge --info`: Portage 2.3.72 (python 3.6.9-final-0, default/linux/amd64/17.1/hardened, gcc-9.1.0, glibc-2.29-r4, 5.2.6-gentoo x86_64) ================================================================= System uname: Linux-5.2.6-gentoo-x86_64-Intel-R-_Core-TM-_i5-7500_CPU_@_3.40GHz-with-gentoo-2.6 KiB Mem: 16382904 total, 3496732 free KiB Swap: 19530748 total, 19477756 free Timestamp of repository gentoo: Mon, 19 Aug 2019 11:30:01 +0000 Head commit of repository science: b5ed6252133a0cd6b8debba8cf560a090a4d35ea sh bash 5.0_p9 ld GNU gold (Gentoo 2.32 p2 2.32.0) 1.16 ccache version 3.7.3 [enabled] app-shells/bash: 5.0_p9::gentoo dev-java/java-config: 2.2.0-r4::gentoo dev-lang/perl: 5.30.0::gentoo dev-lang/python: 2.7.16::gentoo, 3.6.9::gentoo, 3.7.4-r1::gentoo dev-util/ccache: 3.7.3::gentoo dev-util/cmake: 3.15.1::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.6-r1::gentoo sys-apps/sandbox: 2.18::gentoo sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r4::gentoo sys-devel/automake: 1.11.6-r3::gentoo, 1.16.1-r1::gentoo sys-devel/binutils: 2.32-r1::gentoo sys-devel/gcc: 9.1.0-r1::gentoo, 9.2.0::gentoo sys-devel/gcc-config: 2.0::gentoo sys-devel/libtool: 2.4.6-r5::gentoo sys-devel/make: 4.2.1-r4::gentoo sys-kernel/linux-headers: 5.2::gentoo (virtual/os-headers) sys-libs/glibc: 2.29-r4::gentoo Repositories: gentoo location: /var/db/repositories/gentoo sync-type: git sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git sync-user: portage:portage priority: -1000 dev-zero location: /var/db/repositories/mine masters: gentoo science location: /var/db/repositories/science sync-type: git sync-uri: https://anongit.gentoo.org/git/proj/sci.git masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="@FREE Intel-SDP google-chrome" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=broadwell -mrtm -mabm -O2 -ggdb -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/lib64/netdata/conf.d /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXXFLAGS="-march=broadwell -mrtm -mabm -O2 -ggdb -pipe" DISTDIR="/var/cache/distfiles" ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR" FCFLAGS="-march=broadwell -mrtm -mabm -O2 -ggdb -pipe" FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg ccache compressdebug config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms splitdebug strict strict-keepdir unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-march=broadwell -mrtm -mabm -O2 -ggdb -pipe" GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/ http://[2400:cb00:2048:1::6813:884b]/gentoo/ http://[2400:cb00:2048:1::6813:894b]/gentoo/" LANG="C.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j4" PKGDIR="/var/cache/packages" PORTAGE_BINHOST="ssh://binpkguser@gambit.home/var/cache/packages/scarlet" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac accessibility acl alsa amd64 apparmor avahi bash-completion bluetooth bzip2 cairo caps crypt cups cxx dbus djvu dts egl eselect-ldso exif ffmpeg flac fontconfig gif gles gles2 gmp gstreamer gtk gtk3 hardened heif iconv icu idn inotify introspection ipv6 jpeg libass libidn2 libnotify libtirpc lz4 lzma mp3 mpeg multilib musepack ncurses networkmanager nls nptl ogg opengl openmp opus orc pam pcre pdf pie png policykit pulseaudio readline seccomp session sndfile speex spell split-usr ssl ssp startup-notification svg systemd taglib theora threads tiff truetype udev unicode v4l vaapi vim-syntax vorbis vpx vulkan wavpack wayland webp x264 x265 xattr xcb xft xinerama xml xmp xtpax xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput wacom" KERNEL="linux" L10N="de en ja" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="intel i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS The settings which I guess break the build are USE=gles2 for Qt: # equery u qtopengl [ Legend : U - final flag setting for installation] [ : I - package is installed with flag ] [ Colors : set, unset ] * Found these USE flags for dev-qt/qtopengl-5.12.4: U I - - 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 + + gles2 : Use GLES 2.0 or later instead of full OpenGL - - test : Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
It seems that VirtualBox is bundling a very old (2007) version of glext.h, because mesa-19.1.4 has the `const GLchar *const*string` in both GL/glext.h and GLES3/gl32.h for PFNGLSHADERSOURCEPROC, and there it was added in 2013. I assume that when building with qtgui[gles2] MESA's `gl32.h` leaks into the include-chain for some reason, while it doesn't when using GL.
Created attachment 587606 [details, diff] minimal patch to make it build adding a minimal patch which makes it build by updating the definition to the one found in `glext.h` from 2013
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f4382730ae25d099e289124be648f9f30825a4e4 commit f4382730ae25d099e289124be648f9f30825a4e4 Author: Lars Wendler <polynomial-c@gentoo.org> AuthorDate: 2019-12-17 12:42:08 +0000 Commit: Lars Wendler <polynomial-c@gentoo.org> CommitDate: 2019-12-17 12:42:08 +0000 app-emulation/virtualbox: New 6.0.x patchset Thanks-to: Tiziano Müller <dev-zero@gentoo.org> Closes: https://bugs.gentoo.org/692604 Package-Manager: Portage-2.3.82, Repoman-2.3.20 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org> app-emulation/virtualbox/Manifest | 1 + app-emulation/virtualbox/virtualbox-6.0.14.ebuild | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)
Thank you for the patch and sorry it took so long to include it.