I noticed xorg-server was re-released but with an extra USE-flag. The first time instaled that version (1.19.3), compiled fine; however, when it was re-bumped, this happens: ase/xorg-server-1.19.3/work/xorg-server-1.19.3/fb -I/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/dbe -I/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/present -fvisibility=hidden -DHAVE_XORG_CONFIG_H -fvisibility=hidden -I/usr/include/libdrm -march=corei7-avx -O2 -pipe -pthread -c /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/hw/xfree86/glamor_egl/glamor_xf86_xv.c -fPIC -DPIC -o .libs/glamor_xf86_xv.o In file included from /usr/include/epoxy/egl.h:46:0, from /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.h:32, from /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:46: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘glamor_egl_make_current’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:102:41: error: expected expression before ‘EGLSurface’ eglMakeCurrent(glamor_ctx->display, EGL_NO_SURFACE, ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:103:20: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_CONTEXT); ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:103:36: error: expected expression before ‘EGLContext’ EGL_NO_SURFACE, EGL_NO_CONTEXT); ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:106:25: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:106:41: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘_glamor_egl_create_image’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:132:16: error: expected expression before ‘EGLImageKHR’ return EGL_NO_IMAGE_KHR; ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:138:18: error: expected expression before ‘EGLImageKHR’ if (image == EGL_NO_IMAGE_KHR) ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:139:16: error: expected expression before ‘EGLImageKHR’ return EGL_NO_IMAGE_KHR; ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘glamor_egl_create_textured_pixmap’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:278:18: error: expected expression before ‘EGLImageKHR’ if (image == EGL_NO_IMAGE_KHR) { ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘glamor_egl_create_textured_pixmap_from_gbm_bo’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:312:18: error: expected expression before ‘EGLImageKHR’ if (image == EGL_NO_IMAGE_KHR) { ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘glamor_egl_cleanup’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:701:32: error: expected expression before ‘EGLDisplay’ if (glamor_egl->display != EGL_NO_DISPLAY) { ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:703:24: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:703:40: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:703:56: error: expected expression before ‘EGLContext’ EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c: In function ‘glamor_egl_init’: /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:785:31: error: expected expression before ‘EGLDisplay’ glamor_egl->display = EGL_NO_DISPLAY; ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:822:50: error: expected expression before ‘EGLContext’ NULL, EGL_NO_CONTEXT, ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:829:54: error: expected expression before ‘EGLContext’ NULL, EGL_NO_CONTEXT, ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:831:36: error: expected expression before ‘EGLContext’ if (glamor_egl->context == EGL_NO_CONTEXT) { ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:838:25: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, glamor_egl->context)) { ^ /var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3/glamor/glamor_egl.c:838:41: error: expected expression before ‘EGLSurface’ EGL_NO_SURFACE, EGL_NO_SURFACE, glamor_egl->context)) { ^ make[4]: *** [Makefile:720: glamor_egl.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[4]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build/hw/xfree86/glamor_egl' make[3]: *** [Makefile:854: all-recursive] Error 1 make[3]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build/hw/xfree86' make[2]: *** [Makefile:669: all] Error 2 make[2]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build/hw/xfree86' make[1]: *** [Makefile:611: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build/hw' make: *** [Makefile:778: all-recursive] Error 1 * ERROR: x11-base/xorg-server-1.19.3::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=x11-base/xorg-server-1.19.3::gentoo'`, * the complete build log and the output of `emerge -pqv '=x11-base/xorg-server-1.19.3::gentoo'`. * The complete build log is located at '/var/tmp/portage/x11-base/xorg-server-1.19.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-base/xorg-server-1.19.3/temp/environment'. * Working directory: '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build' * S: '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3' >>> Failed to emerge x11-base/xorg-server-1.19.3, Log file: >>> '/var/tmp/portage/x11-base/xorg-server-1.19.3/temp/build.log' * Messages for package x11-base/xorg-server-1.19.3: * ERROR: x11-base/xorg-server-1.19.3::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=x11-base/xorg-server-1.19.3::gentoo'`, * the complete build log and the output of `emerge -pqv '=x11-base/xorg-server-1.19.3::gentoo'`. * The complete build log is located at '/var/tmp/portage/x11-base/xorg-server-1.19.3/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/x11-base/xorg-server-1.19.3/temp/environment'. * Working directory: '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3_build' * S: '/var/tmp/portage/x11-base/xorg-server-1.19.3/work/xorg-server-1.19.3' it seems the error is in the file glamor_egl.c and related with libepoxy lib. I had installed the 1.4.3 version of libepoxy, so I tried downgraded to 1.4.2 and recompile xorg-server and it fixes the issue. So it seems the 1.4.3 version of libepoxy is the culprit.
I experienced the same error. Masking "=media-libs/libepoxy-1.4.3" forced a downgrade to 1.4.2, solving the issue. Thanks jorgicio!
Interesting. I would suspect that this is due to the updated EGL headers using EGL_CAST() for type safety on C++. This in turn requires an updated eglplatform.h, such as shipped by Mesa 17.1 (but not 17.0). Does this libepoxy patch fix things for you? https://github.com/fooishbar/libepoxy/commit/ebe3a53db1c0bb34e1ca963b95d1f222115f93f8
(In reply to Daniel Stone from comment #2) > Interesting. I would suspect that this is due to the updated EGL headers > using EGL_CAST() for type safety on C++. This in turn requires an updated > eglplatform.h, such as shipped by Mesa 17.1 (but not 17.0). Does this > libepoxy patch fix things for you? > > https://github.com/fooishbar/libepoxy/commit/ > ebe3a53db1c0bb34e1ca963b95d1f222115f93f8 Tried this patch, rebuilt libepoxy-1.4.3 and now xorg-server builds successfully. Thanks.
(In reply to Daniel Stone from comment #2) > Interesting. I would suspect that this is due to the updated EGL headers > using EGL_CAST() for type safety on C++. This in turn requires an updated > eglplatform.h, such as shipped by Mesa 17.1 (but not 17.0). Does this > libepoxy patch fix things for you? > > https://github.com/fooishbar/libepoxy/commit/ > ebe3a53db1c0bb34e1ca963b95d1f222115f93f8 Cool, thanks. Can this go upstream? I didn't see a pull request or an issue upstream.
(In reply to Matt Turner from comment #4) > Cool, thanks. Can this go upstream? I didn't see a pull request or an issue > upstream. Sorry, slipped my mind: https://github.com/anholt/libepoxy/pull/134
FWIW, this was merged upstream a few days ago.
This issue also affects building spice-gtk and qemu: $ emerge --info qemu spice-gtk Portage 2.3.6 (python 3.4.6-final-0, hardened/linux/amd64, gcc-5.4.0, glibc-2.24-r3, 4.12.3-gentoo x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.12.3-gentoo-x86_64-Intel-R-_Core-TM-_i7-3687U_CPU_@_2.10GHz-with-gentoo-2.4.1 KiB Mem: 12180652 total, 288108 free KiB Swap: 18874360 total, 13649480 free Timestamp of repository gentoo: Mon, 24 Jul 2017 08:00:01 +0000 sh bash 4.3_p48-r1 ld GNU ld (Gentoo 2.27 p1.0) 2.27 distcc 3.2rc1 x86_64-pc-linux-gnu [disabled] ccache version 3.3.4 [disabled] app-shells/bash: 4.3_p48-r1::gentoo dev-java/java-config: 2.2.0-r3::gentoo dev-lang/perl: 5.24.2::gentoo dev-lang/python: 2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.1-r1::gentoo dev-util/ccache: 3.3.4::gentoo dev-util/cmake: 3.9.0::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.4.1::gentoo sys-apps/openrc: 0.28::gentoo sys-apps/sandbox: 2.10-r4::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r3::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.1::gentoo sys-devel/binutils: 2.27::gentoo, 2.28-r2::gentoo sys-devel/gcc: 5.4.0-r3::gentoo, 6.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers) sys-libs/glibc: 2.24-r3::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 eva location: /var/lib/layman/eva masters: gentoo priority: 50 steam-overlay location: /var/lib/layman/steam-overlay masters: gentoo priority: 50 sublime-text location: /var/lib/layman/sublime-text masters: gentoo priority: 50 Installed sets: @gnome-desktop, @local, @network, @portage-extras, @system-extras, @system-extras-phys ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=ivybridge -g -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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/php/apache2-php5.6/ext-active/ /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/php/cli-php7.1/ext-active/ /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="-O2 -march=ivybridge -g -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--load=6.0 --jobs=4 --keep-going --buildpkg-exclude 'virtual/* sys-kernel/*-sources'" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs buildsyspkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="fr_FR.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu" MAKEOPTS="-j5 -l5.0" 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 --exclude=/.git" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi alsa amd64 attr audit avahi avi bash-completion bluetooth bzip2 cairo caps cdr cgmanager cjk cli colord consolekit cracklib crypt cryptsetup cups cxx dbus dconf dri dvd eds evo exif ffmpeg filecaps flac fortran glamor gmp gnome-keyring gnome-online-accounts gnome-shell grilo gstreamer gudev hardened hwdb iconv icu introspection iptc ipv6 jit jpeg justify keymap laptop lcms ldap libnotify libsamplerate libsecret lirc lz4 lzma lzo mad matroska modules mp3 mpeg mtp multilib nautilus ncurses netlink networkmanager nfs nls nntp nptl nsplugin ntp ogg opengl openmp orc pam pax_kernel pcre pcsc-lite pdf pie pkcs11 playlist png policykit pulseaudio readline realtime seccomp sendto session smartcard spell ssl ssp startup-notification svg systemd taglib tcpd telepathy theora threads tracker udev unicode upnp upnp-av urandom usb v4l v4l2 vim vim-syntax vorbis webkit x264 xattr xattrs xcb xinerama xml xmp xtpax xv xvid xvmc zeitgeist zeroconf zlib" ABI_X86="64" ALSA_CARDS="hda-intel" APACHE2_MODULES="auth_digest authn_file authz_groupfile dav dav_fs" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2 directory" COLLECTD_PLUGINS="apache cpu cgroups df disk interface load logfile memory network swap syslog tail write_graphite" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3 f16c" 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" GRUB_PLATFORMS="pc efi-64" INPUT_DEVICES="evdev libinput synaptics" KERNEL="linux" L10N="en fr" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en fr" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" QEMU_SOFTMMU_TARGETS="x86_64" QEMU_USER_TARGETS="x86_64" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" VIDEO_CARDS="intel" 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 ================================================================= app-emulation/qemu-2.9.0-r54::gentoo was built with the following: USE="aio alsa bluetooth bzip2 caps curl fdt filecaps jpeg lzo ncurses nfs nls opengl pin-upstream-blobs png pulseaudio seccomp smartcard spice usb usbredir vhost-net vnc xattr -accessibility -debug -glusterfs -gnutls -gtk -gtk2 -infiniband -iscsi -numa -python -rbd -sasl -sdl -sdl2 (-selinux) -snappy -ssh -static -static-user -systemtap -tci -test -vde -virgl -virtfs -vte -xen -xfs" ABI_X86="(64)" LINGUAS="-bg -de_DE -fr_FR -hu -it -tr -zh_CN" PYTHON_TARGETS="python2_7" QEMU_SOFTMMU_TARGETS="x86_64 -aarch64 -alpha -arm -cris -i386 -lm32 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -moxie -nios2 -or1k -ppc -ppc64 -ppcemb -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -unicore32 -xtensa -xtensaeb" QEMU_USER_TARGETS="x86_64 -aarch64 -alpha -arm -armeb -cris -hppa -i386 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -nios2 -or1k -ppc -ppc64 -ppc64abi32 -ppc64le -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -tilegx" >>> Attempting to run pkg_info() for 'app-emulation/qemu-2.9.0-r54' Using: app-emulation/spice-protocol-0.12.13 sys-firmware/edk2-ovmf-2017_pre20170505 USE=binary sys-firmware/ipxe-1.0.0_p20160620 sys-firmware/seabios-1.10.2 USE=binary sys-firmware/sgabios-0.1_pre8 net-misc/spice-gtk-0.33-r2::gentoo was built with the following: USE="dbus gtk3 introspection lz4 policykit pulseaudio smartcard usbredir -gstaudio -gstvideo -libressl -mjpeg -sasl -static-libs -vala -webdav" ABI_X86="(64)"
Confirmed here with x11-base/xorg-server-1.19.4 and media-libs/libepoxy-1.4.3 The workaround fixed it : =media-libs/libepoxy-1.4.3
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d5b20e41c9ef4dbdb969e204767b3d1b5d16958 commit 2d5b20e41c9ef4dbdb969e204767b3d1b5d16958 Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2018-03-01 06:49:31 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2018-03-01 06:50:10 +0000 media-libs/libepoxy: Drop old version Closes: https://bugs.gentoo.org/623926 media-libs/libepoxy/Manifest | 1 - media-libs/libepoxy/libepoxy-1.4.3.ebuild | 49 ------------------------------- 2 files changed, 50 deletions(-)