Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 692604 - 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
Summary: app-emulation/virtualbox-6.0.10-r2 - .../work/VirtualBox-6.0.10/src/VBox/Gues...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Lars Wendler (Polynomial-C) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-08-20 11:09 UTC by Tiziano Müller (RETIRED)
Modified: 2019-12-17 12:43 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
compressed build.log (build.log.xz,242.68 KB, application/x-xz)
2019-08-20 11:09 UTC, Tiziano Müller (RETIRED)
Details
minimal patch to make it build (minimal-glext-fix.patch,879 bytes, patch)
2019-08-20 11:41 UTC, Tiziano Müller (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tiziano Müller (RETIRED) gentoo-dev 2019-08-20 11:09:01 UTC
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)
Comment 1 Tiziano Müller (RETIRED) gentoo-dev 2019-08-20 11:22:00 UTC
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.
Comment 2 Tiziano Müller (RETIRED) gentoo-dev 2019-08-20 11:41:31 UTC
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
Comment 3 Larry the Git Cow gentoo-dev 2019-12-17 12:42:29 UTC
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(-)
Comment 4 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-12-17 12:43:32 UTC
Thank you for the patch and sorry it took so long to include it.