Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 572040 - games-fps/doomsday-1.15.7 include/de/gui/../graphics/glentrypoints.h:63:51: error: ‘void (* glAttachShader)(GLuint, GLuint)’ redeclared as different kind of symbol
Summary: games-fps/doomsday-1.15.7 include/de/gui/../graphics/glentrypoints.h:63:51: e...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 532678
  Show dependency tree
 
Reported: 2016-01-15 23:07 UTC by jospezial
Modified: 2016-05-09 18:14 UTC (History)
1 user (show)

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


Attachments
build.log (build.log,254.15 KB, text/plain)
2016-01-15 23:07 UTC, jospezial
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jospezial 2016-01-15 23:07:49 UTC
Created attachment 423010 [details]
build.log

x86_64-pc-linux-gnu-g++ -c -march=native -O2 -pipe -std=c++11 -I/usr/include/assimp -std=gnu++0x -D_REENTRANT -Wall -W -fPIC -DNDEBUG -DDENG_64BIT_HOST -DDENG_STABLE -DUNIX -DDENG_X11 -DDENG_BASE_DIR="\"/usr/share/games/doomsday/\"" -DDENG_LIBRARY_DIR="\"/usr/games/lib64/doomsday/\"" -DDENG_NO_FIXED_ASM -DDENG_NO_RANGECHECKING -D__LIBGUI__ -DQT_NO_DEBUG -DQT_X11EXTRAS_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../libcore/include -I-I/usr/include/libdrm -Iinclude -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtX11Extras -isystem /usr/include/qt5/QtOpenGL -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtCore -I. -I/usr/lib64/qt5/mkspecs/linux-g++ -o canvas.o src/canvas.cpp
In file included from include/de/gui/../graphics/opengl.h:29:0,
                 from include/de/gui/../graphics/gltarget.h:32,
                 from include/de/gui/../GLTarget:1,
                 from include/de/gui/canvas.h:29,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
include/de/gui/../graphics/glentrypoints.h:63:51: error: ‘void (* glAttachShader)(GLuint, GLuint)’ redeclared as different kind of symbol
 LIBGUI_EXTERN_C PFNGLATTACHSHADERPROC             glAttachShader;
                                                   ^
In file included from /usr/include/qt5/QtGui/qopengl.h:97:0,
                 from /usr/include/qt5/QtOpenGL/qgl.h:39,
                 from /usr/include/qt5/QtOpenGL/QGLWidget:1,
                 from include/de/gui/canvas.h:25,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
/usr/include/GLES2/gl2.h:378:29: note: previous declaration ‘void glAttachShader(GLuint, GLuint)’
 GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
                             ^
In file included from include/de/gui/../graphics/opengl.h:29:0,
                 from include/de/gui/../graphics/gltarget.h:32,
                 from include/de/gui/../GLTarget:1,
                 from include/de/gui/canvas.h:29,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
include/de/gui/../graphics/glentrypoints.h:65:51: error: ‘void (* glBindAttribLocation)(GLuint, GLuint, const GLchar*)’ redeclared as different kind of symbol
 LIBGUI_EXTERN_C PFNGLBINDATTRIBLOCATIONPROC       glBindAttribLocation;
                                                   ^
In file included from /usr/include/qt5/QtGui/qopengl.h:97:0,
                 from /usr/include/qt5/QtOpenGL/qgl.h:39,
                 from /usr/include/qt5/QtOpenGL/QGLWidget:1,
                 from include/de/gui/canvas.h:25,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
/usr/include/GLES2/gl2.h:379:29: note: previous declaration ‘void glBindAttribLocation(GLuint, GLuint, const GLchar*)’
 GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name);
                             ^
In file included from include/de/gui/../graphics/opengl.h:29:0,
                 from include/de/gui/../graphics/gltarget.h:32,
                 from include/de/gui/../GLTarget:1,
                 from include/de/gui/canvas.h:29,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
include/de/gui/../graphics/glentrypoints.h:66:51: error: ‘void (* glBindBuffer)(GLenum, GLuint)’ redeclared as different kind of symbol
 LIBGUI_EXTERN_C PFNGLBINDBUFFERPROC               glBindBuffer;
                                                   ^
In file included from /usr/include/qt5/QtGui/qopengl.h:97:0,
                 from /usr/include/qt5/QtOpenGL/qgl.h:39,
                 from /usr/include/qt5/QtOpenGL/QGLWidget:1,
                 from include/de/gui/canvas.h:25,
                 from include/de/Canvas:1,
                 from src/canvas.cpp:19:
/usr/include/GLES2/gl2.h:380:29: note: previous declaration ‘void glBindBuffer(GLenum, GLuint)’
 GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
                             ^
...
Comment 1 jospezial 2016-01-15 23:16:49 UTC
emerge -vat doomsday

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  N     ] games-fps/doomsday-1.15.7::gentoo  USE="demo doom fluidsynth freedoom heretic hexen openal snowberry tools -dedicated -resources" PYTHON_TARGETS="python2_7" 50.836 KiB
[ebuild  N     ]  media-libs/sdl2-mixer-2.0.1::gentoo  USE="flac fluidsynth mad midi mikmod mod modplug mp3 timidity vorbis wav -playtools -smpeg -static-libs -tremor" ABI_X86="(64) -32 (-x32)" 9.975 KiB
[ebuild  N     ]  media-libs/assimp-3.2::gentoo  USE="boost -samples -static -tools" 32.965 KiB
[ebuild  N     ]  games-fps/doom-data-1-r1::gentoo  USE="(-doomsday)" 1.650 KiB

Total: 4 packages (4 new), Size of downloads: 95.425 KiB



emerge --info qtopengl       
Portage 2.2.26 (python 3.4.3-final-0, default/linux/amd64/13.0, gcc-5.3.0, glibc-2.22-r1, 4.4.0 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.4.0-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q6600_@_2.40GHz-with-gentoo-2.2
KiB Mem:     4047304 total,   1854364 free
KiB Swap:   11010040 total,  11009776 free
Timestamp of repository gentoo: Fri, 15 Jan 2016 22:15:01 +0000
Timestamp of repository poly-c: Fri, 15 Jan 2016 07:54:41 +0000
sh bash 4.3_p42-r1
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
ccache version 3.2.4 [enabled]
app-shells/bash:          4.3_p42-r1::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.1::gentoo
dev-lang/python:          2.7.11-r2::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo
dev-util/ccache:          3.2.4::gentoo
dev-util/cmake:           3.4.1::gentoo
dev-util/pkgconfig:       0.29::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.20.2::gentoo
sys-apps/sandbox:         2.10-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.12.6-r1::gentoo, 1.13.4-r1::gentoo, 1.14.1-r1::gentoo, 1.15-r1::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            5.3.0::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.4::gentoo (virtual/os-headers)
sys-libs/glibc:           2.22-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000

overlay_jl
    location: /usr/local/portage
    masters: gentoo
    priority: 0

betagarden
    location: /var/lib/layman/betagarden
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/betagarden.git
    masters: gentoo
    priority: 50

gamerlay
    location: /var/lib/layman/gamerlay
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/gamerlay.git
    masters: gentoo
    priority: 50

kde
    location: /var/lib/layman/kde
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/kde.git
    masters: gentoo
    priority: 50

libressl
    location: /var/lib/layman/libressl
    sync-type: laymansync
    sync-uri: https://github.com/gentoo/libressl.git
    masters: gentoo
    priority: 50

poly-c
    location: /var/lib/layman/poly-c
    sync-type: laymansync
    sync-uri: rsync://gentoofan.no-ip.org/poly-c
    masters: gentoo
    priority: 50

qt
    location: /var/lib/layman/qt
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/qt.git
    masters: gentoo
    priority: 50

x11
    location: /var/lib/layman/x11
    sync-type: laymansync
    sync-uri: git://anongit.gentoo.org/proj/x11
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-write=y --keep-going --quiet-build=y --verbose-conflicts"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
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"
PORTAGE_TMPDIR="/var/tmp"
USE="3dnowext 64bit X Xaw3d a52 aac aacplus aacs aalib accessibility ace acl acpi activefilter aes aften alsa amd64 ap apm apng archive arping audacious audiofile automount bazaar bdplus berkdb binary-drivers bluetooth bluray boost bzip2 bzr cairo canusb ccache cdda cddb cdio cdparanoia cdr cdrdao cdrom cgi charconv chm chroot cjk clang cli client colordiff colors compress consolekit corefonts cpio cracklib crypt css cue cups curl curlwrappers cvs cxx d3d9 daemon dbus declarative device-mapper dga dhcp doom doomsday dos download-subs dri dri3 drm dts dump dv dvb dvd dvdnav eap eap-sim eap-tls ebook egl emerald emoticon encode enscript equalizer evdev exif extensions extras faac faad fam farstream fat fax fbcon fdformat ffmpeg fftw firefox flac fluidsynth fontconfig foomaticdb fortran freedoom ftp fuse g3dvl gadu gallium gbm gd gdbm geoip gif gimp git glamor gles2 glut gme gnutls gpg gphoto2 gpm graphite gsm gstreamer gtk gtk2 gtk3 gtkstyle gui gzip hddtemp hdf hdf5 heretic hexen hid highlight hpcups hpijs http hwdb iconv icq icu id3tag idn imagemagick inotify introspection ipc ipod ipv6 jack java javascript jit jpeg jpeg2k kate kdenlive keymap ladspa lame lcms legacy-systray lensfun libass libcanberra libinput libkms libnotify libressl librtmp libsamplerate libssh2 libtiger libv4l libwww live llvm-shared-libs lm_sensors logrotate lua lz4 lzma lzo mad madwifi magic man matroska md5sum meanwhile melt mercurial metalink midi mikmod mime minizip mixer mjpeg mmap mms mmx mmxext mng mobi mod modplug modules mono mouse mozilla mp3 mp4 mpeg mpeg2 mplayer mtp multilib multimedia multislot musepack musicbrainz nano-syntax ncat ncurses ndiff network nfs nfsidmap nfsv4 nfsv41 nls nmap-update nokia normalize nowlistening nping nptl nsplugin ntfs ntfsprogs ntp nvidia nvram obex ocr ogg ogm openal opencl opengl openh264 openmax openmp oscar osdmenu otr p2p pam pango panorama parport parse-clocks pcap pci pcre pcre16 pdf pipes plugins pm-utils png policykit postproc postscript ppds printsupport privacy projectm pulseaudio pvr python python3 qalculate qml qt5 quicktime r600-llvm-compiler radio rar raw rdesktop readline recording redeyes reiser4 reiserfs remote-access replaygain rpm rtc rtmp rtsp rubberband s3tc sbsms scanner schroedinger scripttools sdl seccomp secure-delete sensord session sftp sha512 shorten shout skins slang smi sndfile snowberry sockets sound soundtouch sox speex spell sql sqlite sqlite3 squashfs sse sse2 ssh ssl startup-notification statistics stk stream subtitles subversion svg swat symlink sync-plugin-portage syslog system-jsoncpp szip taglib tcpd texteffect tftp tftpd theora threads thumbnail tiff timidity tracepath traceroute track-src-odirect translator truetype twolame udev udf udisks unicode upower urlpicpreview usb v4l v4l2 vaapi vamp vcd vdpau video videos virtualbox vlm vnc vorbis vpx vroot vst wad wav wavpack webgl webkit webm webp webpresence widgets wifi winbind winpopup wmf wps wxwidgets x264 x265 xa xattr xcb xcomposite xfs xine xinerama xinetd xkb xml xmp xorg xosd xpm xrandr xscreensaver xv xvid xvmc yahoo zenmap zip zlib zvbi" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 sse3 ssse3" CURL_SSL="libressl" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4 python3_5" RUBY_TARGETS="ruby20 ruby21 ruby21 ruby22 ruby23" USERLAND="GNU" VIDEO_CARDS="fbdev vesa svga vga radeon modesetting r100 r200 r300 r600" 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, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

dev-qt/qtopengl-4.8.7::gentoo was built with the following:
USE="egl exceptions (-aqua) -debug -pch -qt3support" ABI_X86="64 -32 -x32"


dev-qt/qtopengl-5.6.0_beta::qt was built with the following:
USE="gles2 -debug -test" ABI_X86="64"
Comment 2 Mr. Bones. (RETIRED) gentoo-dev 2016-01-18 03:37:42 UTC
dev-qt/qtopengl-5.6.0_beta isn't in the portage tree.  If you can reproduce the issue with just packages from the portage tree then reopen please.
Comment 3 Dale Pontius 2016-03-20 22:12:30 UTC
I can confirm the problem, same symptoms.  As far as the relevant dependencies go, I'm running straight portage.

However today I tried something, and got doomsday to build OK.  Since it seemed to be a GL problem, I learned a bit more about the various GL USE flags, and cut things back.  With "USE="-gles -gles2 egl" doomsday-1.15.7 will build correctly.  I'm sure I didn't need to rebuild my whole system this way, but haven't chased down which specific packages need the USE tweaks.

(It still doesn't play, though.  It doesn't crash, but is still working behind a black screen.  I'm able to exit the program by rote keypresses, and it exits cleanly.  However that's a different problem.  I need to do a bit (including emerge @preserved-rebuild) more, and I'll file that one here.)
Comment 4 jospezial 2016-03-21 03:05:43 UTC
@Dale:
What are your Qt-versions?

Btw,
qt*-5.7.9999 or games-fps/doomsday-1.15.8 from games-overlay do not change anything.
Comment 5 Dale Pontius 2016-03-21 15:29:25 UTC
~ $ emerge -ptv qtnetwork:5 qtopengl:5 qtwidgets:5 qtx11extras:5 qtgui:5 qtcore:5 

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild   R    ] dev-qt/qtx11extras-5.5.1:5::gentoo  USE="-debug {-test}" 0 KiB
[ebuild   R    ] dev-qt/qtopengl-5.5.1:5::gentoo  USE="-debug -gles2 {-test}" 0 KiB
[ebuild   R    ] dev-qt/qtnetwork-5.5.1:5::gentoo  USE="ssl -bindist -connman -debug -libproxy -networkmanager {-test}" 0 KiB
[ebuild   R    ] dev-qt/qtwidgets-5.5.1-r1:5::gentoo  USE="png xcb -debug -gles2 -gtkstyle {-test}" 0 KiB
[ebuild   R    ]  dev-qt/qtgui-5.5.1-r1:5::gentoo  USE="egl evdev gif jpeg png udev xcb -accessibility -dbus -debug -eglfs -gles2 -gtkstyle -ibus -libinput {-test} -tslib -tuio" 0 KiB
[ebuild   R    ]   dev-qt/qtcore-5.5.1-r1:5::gentoo  USE="icu -debug -systemd {-test}" 0 KiB

Total: 6 packages (6 reinstalls), Size of downloads: 0 KiB

Looking at this, I suppose it could be worthwhile attempting to keep "gles gles2" for everything else, and turn it off for qtopengl, qtwidgets, and qtgui.  But to be honest, I'm not sure why I had "embedded" features turned on in the first place.  It seems good to have "egl", and with clutter, "egl" requires "gles2", which requires "gles".  This machine doesn't have clutter, though my wife's does.

(Anyone else seeing the black screen, with the game fully functional, just invisible?)
Comment 6 jospezial 2016-03-21 16:21:35 UTC
I reopen the bug because it is confirmed by dale with qt-5.5.1 from the tree.
Comment 7 jospezial 2016-03-21 16:28:18 UTC
@Dale,
You could run doomsday from a terminal to see errors in case of the black sreen.
Or you could find something in ~/.xsession-errors.

The black screen could be an incompatibility of your USE-flags between your packages.
Comment 8 Dale Pontius 2016-03-21 21:58:08 UTC
(In reply to jospezial from comment #7)
> @Dale,
> You could run doomsday from a terminal to see errors in case of the black
> sreen.
> Or you could find something in ~/.xsession-errors.
> 
> The black screen could be an incompatibility of your USE-flags between your
> packages.

I figure my black screen problem is not necessarily another manifestation of this problem, so I've filed it as a separate bug.  I have a console listing attached in that bug.
Comment 9 Toralf Förster gentoo-dev 2016-05-08 09:03:55 UTC
same here at amd64-plasma-unstable_20160503-214725/
Comment 10 Mr. Bones. (RETIRED) gentoo-dev 2016-05-09 02:10:29 UTC
Sounds like changing the qtgui dep to:

dev-qt/qtgui[-egl]

would make it work, right?
Comment 11 Mr. Bones. (RETIRED) gentoo-dev 2016-05-09 18:14:03 UTC
well, it builds for me with qtgui[egl] but not with qtgui[gles2] so I changed the qtgui dep in doomsday to avoid that.  I guess it's not surprising that things might not be happy with a subset of the opengl api.