Summary: | x11-base/xorg-server-1.20.5[libglvnd] - In file included from glamor_core.c:36: /usr/include/X11/Xlib.h:222:2: error: conflicting types for ‘GC’ | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Dennis Schridde <dschridde+gentoobugs> |
Component: | Current packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | gentoo, herb |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
build.log (with 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4) |
Description
Dennis Schridde
2019-11-13 22:01:04 UTC
Created attachment 596032 [details]
build.log
This only showed up for me when I enabled libglvnd (masked USE flag) I have an nVidia card and thought I'd test it. This is the only problem I've run into. This is fixed upstream by commit 741bd73429e337071f49509ddcc5fb392e20b0f6 and on the server-1.20-branch by commit 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4. Created attachment 596710 [details] build.log (with 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4) (In reply to Matt Turner from comment #3) > This is fixed upstream by commit 741bd73429e337071f49509ddcc5fb392e20b0f6 > and on the server-1.20-branch by commit > 642c1f83b9ed2452ceb20457a4423a8f52a7a8c4. Does not fix the issue for me, but at least appears to reduce the number of conflicts. Seconded. I've just applied all the commits from xorg-server-1.20.5 up to 642c1f83b (excluding those already applied) and got the same result. Thanks for testing guys. I'll investigate. Oh, I see. We also need commit 51233cc52cbcbe25f8461830913c06f5b5bc9508 Author: Adam Jackson <ajax@redhat.com> Date: Thu Oct 17 11:51:37 2019 -0400 egl: Sync with Khronos commit de3a5e867d906a04a5c37ee0d89e7f01d3598eb9 Author: Ken Russell <kbrussel@alum.mit.edu> Date: Sat Oct 12 05:44:43 2019 -0700 Reserve enums 0x34A0..0x34AF for ANGLE project. (#93) Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/193 from upstream libglvnd. That's not in 1.2.0. Thanks. Applied that patch to libglvnd, installed fine. Got a link error on my first rebuild of xorg-server (note that I am still applying all the patches from 1.20.5 to the previously mentioned fix): libtool: link: x86_64-pc-linux-gnu-gcc -I../../glamor -I../../dri3 -DHAVE_DIX_CONFIG_H -I/usr/include/libdrm -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Wimplicit -Wnonnull -Winit-self -Wmain -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Warray-bounds -Wwrite-strings -Waddress -Wint-to-pointer-cast -Wpointer-to-int-cast -fno-strict-aliasing -fno-strict-aliasing -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/X11/dri -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/sync -I../../miext/shadow -I../../miext/damage -I../../render -I../../randr -I../../fb -I../../dbe -I../../present -fvisibility=hidden -O3 -march=native -pipe -fno-stack-protector -pthread -Wl,-O1 -O3 -march=native -pipe -Wl,-z -Wl,lazy -o Xwayland Xwayland-xwayland.o Xwayland-xwayland-input.o Xwayland-xwayland-cursor.o Xwayland-xwayland-shm.o Xwayland-xwayland-output.o Xwayland-xwayland-cvt.o Xwayland-xwayland-vidmode.o Xwayland-stubs.o Xwayland-miinitext.o Xwayland-xwayland-glamor.o Xwayland-xwayland-glamor-gbm.o Xwayland-xwayland-present.o Xwayland-xwayland-glamor-xv.o Xwayland-drm-protocol.o Xwayland-relative-pointer-unstable-v1-protocol.o Xwayland-pointer-constraints-unstable-v1-protocol.o Xwayland-tablet-unstable-v2-protocol.o Xwayland-xwayland-keyboard-grab-unstable-v1-protocol.o Xwayland-xdg-output-unstable-v1-protocol.o Xwayland-linux-dmabuf-unstable-v1-protocol.o -Wl,--export-dynamic -Wl,--as-needed ../../glamor/.libs/libglamor.a ../../fb/.libs/libfb.a ../../xfixes/.libs/libxfixes.a ../../mi/.libs/libmi.a ../../Xext/.libs/libXext.a ../../dbe/.libs/libdbe.a ../../record/.libs/librecord.a ../../glx/.libs/libglx.a ../../randr/.libs/librandr.a ../../render/.libs/librender.a ../../damageext/.libs/libdamageext.a ../../dri3/.libs/libdri3.a ../../present/.libs/libpresent.a ../../miext/sync/.libs/libsync.a ../../miext/damage/.libs/libdamage.a ../../miext/shadow/.libs/libshadow.a ../../Xi/.libs/libXi.a ../../xkb/.libs/libxkb.a ../../xkb/.libs/libxkbstubs.a ../../composite/.libs/libcomposite.a ../../dix/.libs/libmain.a ../../dix/.libs/libdix.a ../../os/.libs/libos.a -lcrypto -ldl ../../glx/.libs/libglxvnd.a -lwayland-client -ldrm ../../Xext/.libs/libXvidmode.a -lpixman-1 -lXfont2 -lXau -lsystemd -lxshmfence -lXdmcp -lepoxy -lgbm -lEGL -lGL -lm -lbsd -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib64/libGL.so: undefined reference to `_glapi_tls_Current' Didn't dig into that one, instead I just disabled wayland and xorg-server installed fine. Not sure how well it all works mind, I'm not sat at that particular computer right now. Excellent, thanks Matt. That's all working. For reference, I have the following patches applied (because the original fix doesn't apply directly to 1.20.5) /etc/portage/patches/media-libs/libglvnd/: 51233cc52cbcbe25f8461830913c06f5b5bc9508.patch /etc/portage/patches/x11-base/xorg-server/: 0001-xwayland-Avoid-a-crash-on-pointer-enter-with-a-grab.patch 0002-xwayland-Check-status-in-GBM-pixmap-creation.patch 0003-glamor-Make-pixmap-exportable-from-gbm_bo_from_pixma.patch 0004-xwayland-Reset-scheduled-frames-after-hiding-tablet-.patch 0005-Revert-present-scmd-Check-that-the-flip-and-screen-p.patch 0006-Xi-Use-current-device-active-grab-to-deliver-touch-e.patch 0007-dri2-Sync-i965_pci_ids.h-from-mesa.patch 0008-xwayland-Update-screen-pixmap-on-output-resize.patch 0009-xwayland-Expand-the-RANDR-screen-size-limits.patch 0010-xwayland-Do-not-free-a-NULL-GBM-bo.patch 0011-xsync-Add-resource-inside-of-SyncCreate-export-SyncC.patch 0012-GLX-Add-a-per-client-vendor-mapping.patch 0013-GLX-Use-the-sending-client-for-looking-up-XID-s.patch 0014-GLX-Add-a-function-to-change-a-clients-vendor-list.patch 0015-GLX-Set-GlxServerExports-major-minor-Version.patch 0016-miext-sync-Fix-needless-ABI-change.patch 0017-glx-Fix-previous-context-validation-in-xorgGlxMakeCu.patch 0018-xwayland-Separate-DamagePtr-into-separate-window-dat.patch 0019-xwayland-Refactor-surface-creation-into-a-separate-f.patch 0020-xwayland-Handle-the-case-of-windows-being-realized-b.patch 0021-xf86-Disable-unused-crtc-functions-when-a-lease-is-r.patch 0022-miext-sync-Make-struct-_SyncObject-initialized-fully.patch 0023-Fix-crash-on-XkbSetMap.patch 0024-Fix-crash-on-XkbSetMap.patch 0028-dix-Assert-noPanoramiXExtension-is-false-in-Panorami.patch 0029-configure-Set-libdrm-flags-correctly-if-only-XORG-is.patch 0030-modesetting-Fix-broken-manpage-in-autoconf-build.patch 0032-meson-Fix-another-reference-to-gl-9.2.0.patch 0033-meson-Apparently-1.2-is-1.2.0.patch 0034-glamor-xwayland-Define-EGL_NO_X11.patch 0035-randr-Fix-RRCrtcDetachScanoutPixmap-segfault-during-.patch 0036-modesetting-Fix-ms_covering_crtc-segfault-with-non-m.patch 0037-modesetting-Fix-ms_covering_crtc-segfault-with-non-x.patch 0038-modesetting-Implement-ms_covering_randr_crtc-for-ms_.patch 0039-xfree86-Call-ScreenInit-for-protocol-screens-before-.patch KDE compositor still stuck in XRender despite me selecting OpenGL3.1, so I can now go hunting for a different smoking gun... (In reply to Matt Turner from comment #7) > Oh, I see. We also need > > commit 51233cc52cbcbe25f8461830913c06f5b5bc9508 > Author: Adam Jackson <ajax@redhat.com> > Date: Thu Oct 17 11:51:37 2019 -0400 > > egl: Sync with Khronos > > commit de3a5e867d906a04a5c37ee0d89e7f01d3598eb9 > Author: Ken Russell <kbrussel@alum.mit.edu> > Date: Sat Oct 12 05:44:43 2019 -0700 > > Reserve enums 0x34A0..0x34AF for ANGLE project. (#93) > > Closes: https://gitlab.freedesktop.org/glvnd/libglvnd/issues/193 > > from upstream libglvnd. That's not in 1.2.0. Thanks, works! The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c38af1852d41380a9758c092ffb0df8362dec256 commit c38af1852d41380a9758c092ffb0df8362dec256 Author: Matt Turner <mattst88@gentoo.org> AuthorDate: 2019-11-23 00:12:49 +0000 Commit: Matt Turner <mattst88@gentoo.org> CommitDate: 2019-11-23 00:20:59 +0000 x11-base/xorg-server: Version bump to 1.20.6 Closes: https://bugs.gentoo.org/689768 Closes: https://bugs.gentoo.org/700052 Closes: https://bugs.gentoo.org/700120 Closes: https://bugs.gentoo.org/700838 Signed-off-by: Matt Turner <mattst88@gentoo.org> x11-base/xorg-server/Manifest | 1 + x11-base/xorg-server/xorg-server-1.20.6.ebuild | 232 +++++++++++++++++++++++++ 2 files changed, 233 insertions(+) Did this bug return on 1.20.7? And also with Cairo-1.16.0-r3? (In reply to Brian McKee from comment #12) > Did this bug return on 1.20.7? And also with Cairo-1.16.0-r3? Not sure if it is related, but the error seems to be the same: libtool: link: x86_64-pc-linux-gnu-gcc -DHAVE_DIX_CONFIG_H -DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wmissing-declarations -Wformat=2 -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Wbad-function-cast -Wold-style-definition -Wdeclaration-after-statement -Wunused -Wuninitialized -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wredundant-decls -Wlogical-op -Wimplicit -Wnonnull -Winit-self -Wmain -Wmissing-braces -Wsequence-point -Wreturn-type -Wtrigraphs -Warray-bounds -Wwrite-strings -Waddress -Wint-to-pointer-cast -Wpointer-to-int-cast -fno-strict-aliasing -fno-strict-aliasing -D_DEFAULT_SOURCE -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/libdrm -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/X11/dri -I../../include -I../../include -I../../Xext -I../../composite -I../../damageext -I../../xfixes -I../../Xi -I../../mi -I../../miext/sync -I../../miext/shadow -I../../miext/damage -I../../render -I../../randr -I../../fb -I../../dbe -I../../present -fvisibility=hidden -march=native -O2 -pipe -DGLAMOR_HAS_EGL_QUERY_DRIVER -pthread -Wl,-O1 -Wl,-z -Wl,lazy -o Xvfb InitInput.o InitOutput.o miinitext.o -Wl,--export-dynamic -Wl,--as-needed ../../fb/.libs/libfb.a ../../xfixes/.libs/libxfixes.a ../../Xext/.libs/libXext.a ../../dbe/.libs/libdbe.a ../../record/.libs/librecord.a ../../glx/.libs/libglx.a ../../glx/.libs/libglxvnd.a ../../randr/.libs/librandr.a ../../render/.libs/librender.a ../../damageext/.libs/libdamageext.a ../../dri3/.libs/libdri3.a ../../present/.libs/libpresent.a ../../miext/sync/.libs/libsync.a ../../miext/damage/.libs/libdamage.a ../../miext/shadow/.libs/libshadow.a ../../Xi/.libs/libXi.a ../../xkb/.libs/libxkb.a ../../xkb/.libs/libxkbstubs.a ../../composite/.libs/libcomposite.a ../../dix/.libs/libmain.a ../../dix/.libs/libdix.a ../../mi/.libs/libmi.a ../../os/.libs/libos.a -lcrypto -ldl ../../Xi/.libs/libXistubs.a -lGL -lpixman-1 -lXfont2 -lXau -lxshmfence -lXdmcp -lm -lbsd -pthread /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib64/libGL.so: undefined reference to `_glapi_tls_Current' collect2: error: ld returned 1 exit status make[3]: *** [Makefile:696: Xvfb] Error 1 make[3]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.20.7/work/xorg-server-1.20.7/hw/vfb' make[2]: *** [Makefile:762: all-recursive] Error 1 make[2]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.20.7/work/xorg-server-1.20.7/hw/vfb' make[1]: *** [Makefile:615: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/x11-base/xorg-server-1.20.7/work/xorg-server-1.20.7/hw' make: *** [Makefile:816: all-recursive] Error 1 Is it possible that libglvnd-1.3.1 has reintroduced this problem. I can't get one of my machines to build. I can't try libglvnd-1.2.x or 1.3.0 because the ebuilds have been removed. (In reply to Bjoern Olausson from comment #13) > Not sure if it is related, but the error seems to be the same: > ... > /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ > ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib64/libGL.so: > undefined reference to `_glapi_tls_Current' This looks like bug 711780 (In reply to Brian McKee from comment #14) > Is it possible that libglvnd-1.3.1 has reintroduced this problem. I can't > get one of my machines to build. I can't try libglvnd-1.2.x or 1.3.0 because > the ebuilds have been removed. Strange. Please file a new bug and attach build logs and emerge --info and I'll investigate. Thanks Matt. I'm still investigating. I'm having problems with eselect-opengl blocking mesa and nvidia-drivers. I went to the other bug report you mentioned above and realized that emerging nvidia-drivers might fix my problem. But I couldn't emerge it because eselect-opengl was blocking it from recompiling. I removed eselect-opengl and that enabled me to emerge nvidia-drivers although the ebuild tried to run eselect-opengl and failed because I removed it, so it seems like the dependencies aren't quite compete there either. It did rebuild the drivers. Then I did emerge -DNuq @world and its running. I'll post here or open a new bug if it fails again. (In reply to Matt Turner from comment #15) > (In reply to Bjoern Olausson from comment #13) > > Not sure if it is related, but the error seems to be the same: > > ... > > /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ > > ld: /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../lib64/libGL.so: > > undefined reference to `_glapi_tls_Current' > > This looks like bug 711780 Thanks, indeed, and the issues was resolved in bug 711780 (at least for me) Cheers, Bjoern |