Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 450492

Summary: [qt overlay] x11-libs/qt-gui-5.0 USE=-egl - qxcbintegration.cpp:(.text+0x241): undefined reference to `QEGLPlatformContext::QEGLPlatformContext(QSurfaceFormat const&, QPlatformOpenGLContext*, void*, unsigned int)'
Product: Gentoo Linux Reporter: Volker Hemmann <volkerarmin>
Component: [OLD] LibraryAssignee: Qt Bug Alias <qt>
Status: RESOLVED FIXED    
Severity: normal CC: kripton
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 454132    
Attachments: build.log of failed compilation with -egl

Description Volker Hemmann 2013-01-06 05:06:35 UTC
with -egl in the useflags qt-gui 5.0 fails with this error:

86_64-pc-linux-gnu-g++ -Wl,-O1 -Wl,--as-needed -Wl,--no-undefined -shared -o libqxcb.so .obj/release-shared/qxcbclipboard.o .obj/release-shared/qxcbconnection.o .obj/release-shared/qxcbintegration.o .obj/release-shared/qxcbkeyboard.o .obj/release-shared/qxcbmime.o .obj/release-shared/qxcbdrag.o .obj/release-shared/qxcbscreen.o .obj/release-shared/qxcbwindow.o .obj/release-shared/qxcbbackingstore.o .obj/release-shared/qxcbwmsupport.o .obj/release-shared/main.o .obj/release-shared/qxcbnativeinterface.o .obj/release-shared/qxcbcursor.o .obj/release-shared/qxcbimage.o .obj/release-shared/qxlibconvenience.o .obj/release-shared/qxcbconnection_xi2.o .obj/release-shared/moc_qxcbconnection.o .obj/release-shared/moc_qxcbmime.o  -ldl -lX11 -lX11-xcb -lXi -lxcb-render-util -lXrender -lEGL -lxcb-render -ldbus-1 -lxcb -lxcb-image -lxcb-keysyms -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -L/var/tmp/portage/x11-libs/qt-gui-5.0.0/work/qtbase-opensource-src-5.0.0_build/lib -lQt5PlatformSupport -lfontconfig -lfreetype -pthread -lgthread-2.0 -lrt -lglib-2.0 -lQt5DBus -lQt5Gui -lQt5Core -lGLESv2 -lpthread  
.obj/release-shared/qxcbintegration.o: In function `QXcbIntegration::createPlatformOpenGLContext(QOpenGLContext*) const':
qxcbintegration.cpp:(.text+0x241): undefined reference to `QEGLPlatformContext::QEGLPlatformContext(QSurfaceFormat const&, QPlatformOpenGLContext*, void*, unsigned int)'
.obj/release-shared/qxcbintegration.o: In function `QEGLXcbPlatformContext::~QEGLXcbPlatformContext()':
qxcbintegration.cpp:(.text._ZN22QEGLXcbPlatformContextD2Ev[_ZN22QEGLXcbPlatformContextD5Ev]+0xb): undefined reference to `QEGLPlatformContext::~QEGLPlatformContext()'
.obj/release-shared/qxcbintegration.o: In function `QEGLXcbPlatformContext::doneCurrent()':
qxcbintegration.cpp:(.text._ZN22QEGLXcbPlatformContext11doneCurrentEv[QEGLXcbPlatformContext::doneCurrent()]+0x1): undefined reference to `QEGLPlatformContext::doneCurrent()'
.obj/release-shared/qxcbintegration.o: In function `QEGLXcbPlatformContext::makeCurrent(QPlatformSurface*)':
qxcbintegration.cpp:(.text._ZN22QEGLXcbPlatformContext11makeCurrentEP16QPlatformSurface[QEGLXcbPlatformContext::makeCurrent(QPlatformSurface*)]+0x1): undefined reference to `QEGLPlatformContext::makeCurrent(QPlatformSurface*)'
.obj/release-shared/qxcbintegration.o: In function `QEGLXcbPlatformContext::swapBuffers(QPlatformSurface*)':
qxcbintegration.cpp:(.text._ZN22QEGLXcbPlatformContext11swapBuffersEP16QPlatformSurface[QEGLXcbPlatformContext::swapBuffers(QPlatformSurface*)]+0x1): undefined reference to `QEGLPlatformContext::swapBuffers(QPlatformSurface*)'
.obj/release-shared/qxcbintegration.o: In function `QEGLXcbPlatformContext::~QEGLXcbPlatformContext()':
qxcbintegration.cpp:(.text._ZN22QEGLXcbPlatformContextD0Ev[_ZN22QEGLXcbPlatformContextD5Ev]+0xf): undefined reference to `QEGLPlatformContext::~QEGLPlatformContext()'
.obj/release-shared/qxcbintegration.o:(.data.rel.ro._ZTV22QEGLXcbPlatformContext[vtable for QEGLXcbPlatformContext]+0x20): undefined reference to `QEGLPlatformContext::format() const'
.obj/release-shared/qxcbintegration.o:(.data.rel.ro._ZTV22QEGLXcbPlatformContext[vtable for QEGLXcbPlatformContext]+0x58): undefined reference to `QEGLPlatformContext::getProcAddress(QByteArray const&)'
.obj/release-shared/qxcbintegration.o:(.data.rel.ro._ZTI22QEGLXcbPlatformContext[typeinfo for QEGLXcbPlatformContext]+0x10): undefined reference to `typeinfo for QEGLPlatformContext'
.obj/release-shared/qxcbwindow.o: In function `QXcbWindow::create()':
qxcbwindow.cpp:(.text+0x1e74): undefined reference to `q_configFromGLFormat(void*, QSurfaceFormat const&, bool, int)'
qxcbwindow.cpp:(.text+0x1e9f): undefined reference to `q_glFormatFromConfig(void*, void*, QSurfaceFormat const&)'
qxcbwindow.cpp:(.text+0x1edf): undefined reference to `QXlibEglIntegration::getCompatibleVisualId(_XDisplay*, void*, void*)'
.obj/release-shared/qxcbwindow.o: In function `QXcbWindow::eglSurface() const':
qxcbwindow.cpp:(.text+0x276c): undefined reference to `q_configFromGLFormat(void*, QSurfaceFormat const&, bool, int)'
.obj/release-shared/qxcbnativeinterface.o: In function `QXcbNativeInterface::eglContextForContext(QOpenGLContext*)':
qxcbnativeinterface.cpp:(.text+0x11): undefined reference to `QEGLPlatformContext::eglContext() const'
collect2: ld gab 1 als Ende-Status zurück
make[2]: *** [../../../../plugins/platforms/libqxcb.so] Fehler 1
make[2]: Leaving directory `/var/tmp/portage/x11-libs/qt-gui-5.0.0/work/qtbase-opensource-src-5.0.0_build/src/plugins/platforms/xcb'
make[1]: *** [sub-xcb-plugin-pro-make_first-ordered] Fehler 2
make[1]: Leaving directory `/var/tmp/portage/x11-libs/qt-gui-5.0.0/work/qtbase-opensource-src-5.0.0_build/src/plugins/platforms/xcb'
make: *** [sub-xcb-make_first] Fehler 2
 * ERROR: x11-libs/qt-gui-5.0.0 failed (compile phase):
 *   emake failed

with egl turned on qt-gui 5.0 builds fine.

emerge --info '=x11-libs/qt-gui-5.0.0' 

Portage 2.2.0_alpha149 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.16.0, 3.4.24 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-3.4.24-x86_64-AMD_Phenom-tm-_II_X4_955_Processor-with-gentoo-2.2
Timestamp of tree: Sat, 05 Jan 2013 18:30:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p42
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.6.7-r2, 2.7.3-r3, 3.1.4-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            4.5.3-r2, 4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo x11 xarthisius c1pher kde qt printer-drivers x-portage x-ati-testing
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -msse3 -msse4a -msahf -fpredictive-commoning -mfpmath=sse -mcx16 -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -ftracer -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/games/angband/edit/ /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=amdfam10 -mtune=amdfam10 -O2 -msse3 -msse4a -msahf -fpredictive-commoning -mfpmath=sse -mcx16 -mpopcnt -mabm --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -ftracer -pipe"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--keep-going"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg candy config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync metadata-transfer news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE@euro"
LC_ALL="de_DE@euro"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/var/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/portage"
PORTDIR_OVERLAY="/var/lib/layman/x11 /var/lib/layman/xarthisius /var/lib/layman/c1pher /var/lib/layman/kde /var/lib/layman/qt /var/lib/layman/printer-drivers /usr/local/portage /usr/local/portage/ati-testing"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="32bit 3dnow 3dnowext 64bit 7zip S3TC X Xaw3d a52 aac acpi addbookmarks aften aim aio akode akonadi alias alsa altenburgcards amarok amarok2 amd64 amr amrnb amrwb analogtv aotuv apng archive athena atm audio audiofile autoreplace bash-completion berkdb binary-drivers binfilter bittorrent boost branding bzip2 cairo captury cdaudio cdda cddb cdinstall cdparanoia cdr cdrom cdsound cegui chm clamav clamdtop cli clucene colorpicker connection-sharing connectionstatus consolekit contactnotes cpuload cracklib crypt css cups curl cxx dbus ddate declarative device-mapper dhcp dhcpcd dirac divx dnd double-precision downloadorder dpms dragonplayer dri dts dv dvb dvbplayer dvbsetup dvd dvdr eap-sim eap-tls editor egl embedded emboss emerald emovix enca encode exceptions exif exiv2 expat extensions extra-cardsets fame fasttrack fat festival ffmpeg fftw file firefox fits flac fontconfig fontforge foomaticdb fortran freetts ftp fts3 g3dvl gadu gallium gd gdbm geoip gif gimp gles gles2 glibc-omitfp glitz glut glx gnutella gpgme gpm graphite grub hddtemp highlight history icons iconv icotools icq icu id3 id3tag ieee1394 imagemagick imap inotify ipv6 irc irmc irrlicht jabber java java6 javascript jce jingle joystick jpeg jpeg2k kate kcal kde kde4 kdecards kdehiddenvisibility kdepim kdm kexi kipi konqueror kontact ktts lame lapack lcms lesstif libkms libnotify libsamplerate libssh2 libv4l2 libwww lirc lm_sensors logitech-mouse logviewer lzma lzo mad magic mailbox maildir maps matroska mbox mbrola mdadm mdnsresponder-compat metric mime minizip mixer mjpeg mmap mmx mmxext mng modules monolithic mp2 mp3 mp4 mpeg mpeg2 mplayer msn mtp mudflap mule multilib multimedia musepack music nano-syntax ncurses neXt nepomuk net network newspr ngui nlpsolver nls no-old-linux nocd nowin nowlistening npp nptl nsplugin nspluginwrapper ntfs obex offensive ogg ogg123 ogm ogre ois okular old-daemons opencl openclipartcards openctl openexr opengl openmp optimized-qmake oscar otr oxygen pam pango pch pcre pda pdf pdfimport phonon physfs pixmaps plasma player plotutils plugins png pnm policykit posix postgres ppds pppd private-headers ps python3 qimageblitz qscintilla qt-faststart qt3support qt4 qwt rar raster readline recode reiser4 reiserfs remix reports resolvconf rogue romio rss rtc sametime sasl scanner scenarios schedule schroedinger scsi sdl sdl-image sdl-sound sdlaudio search secure-delete semantic-desktop sensord sensors server session shaders shm skins skype slp smp sms sndfile sockets sound sounds spell sqlite sqlite3 sse sse2 sse3 sse4a ssh ssl startup-notification statistics stats stroke strong-optimization subp svg sysfs system-v8 sysvipc szip tcpd templates test-programs texteffect textures tga theora threads threadsafe thumbnail tiff timidity tk tomsfastmath toolbar tools transcode translator truetype tv tv_check tv_combiner tv_pick_cgi tvtime udev udisks unicode unzip upnp upower usb userlocales utempter v4l v4l2 vaapi vcd video videos virtuoso visualization vlc vorbis vpx wav webdav webgl webinterface webkit webpresence wifi windeco wireshark wma wma-fixed wmf wv2 wxwidgets x264 xanim xatrix xcb xcomposite xemacs xext xface xft xine xml xosd xpm xrandr xrender xscreensaver xskatcards xv xvid xvmc yahoo yiff yv12 zip zlib zsh-completion zvbi" ALSA_CARDS="emu10k1" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" 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" CAMERAS="ptp2 samsung" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" 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 ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="de" LIRC_DEVICES="devinput" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="vesa v4l fglrx r600 radeon" 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:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

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

x11-libs/qt-gui-5.0.0 was built with the following:
USE="accessibility c++11 egl evdev gif gles2 glib jpeg opengl png udev xcb -debug -eglfs -kms -test"

(this after succesful build, after turning egl on).
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2013-01-07 11:50:59 UTC
Please attach the entire build log to this bug report.
Comment 2 Volker Hemmann 2013-01-07 16:34:09 UTC
Created attachment 334738 [details]
build.log of failed compilation with -egl
Comment 3 Davide Pesavento gentoo-dev 2013-01-25 09:29:14 UTC
Apparently xcb+gles2 requires egl...
Comment 4 Davide Pesavento gentoo-dev 2013-01-25 09:59:32 UTC
...and since egl requires gles2, I think we should just merge them.
Comment 5 Davide Pesavento gentoo-dev 2013-02-22 08:35:13 UTC
(In reply to comment #4)
> ...and since egl requires gles2, I think we should just merge them.

Done in 5.9999 and 5.0.9999