Summary: | x11-base/xorg-server-1.20.5 - In file included from dumb_bo.c:40: /usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Rolf Eike Beer <eike> |
Component: | Current packages | Assignee: | Gentoo X packagers <x11> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alexander |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
build.log
0001-configure-Set-libdrm-flags-correctly-for-modesetting.patch |
Description
Rolf Eike Beer
![]() drm.h and drm_fourcc.h are provided by sys-kernel/linux-headers. Does your linux-headers installation not have these files? The files are there: /usr/include/libdrm/drm.h /usr/include/libdrm/drm_fourcc.h /usr/include/drm/drm.h /usr/include/drm/drm_fourcc.h But the compile command did not include any of the subdirectories in the include paths. I can reproduce this with USE="minimal -udev". Compile command doesn't include "-I/usr/include/libdrm" in this case. From configure.ac: if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || test "x$CONFIG_UDEV_KMS" = xyes; then if test "x$DRM" = xyes; then AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support]) PKG_CHECK_MODULES([LIBDRM], $LIBDRM) fi fi $ pkg-config --cflags libdrm -I/usr/include/libdrm (In reply to Alexander Tsoy from comment #3) ... > if test "x$DRI" = xyes || test "x$DRI2" = xyes || test "x$DRI3" = xyes || > test "x$CONFIG_UDEV_KMS" = xyes; then > if test "x$DRM" = xyes; then > AC_DEFINE(WITH_LIBDRM, 1, [Building with libdrm support]) > PKG_CHECK_MODULES([LIBDRM], $LIBDRM) > fi > fi and later: if test "x$DRM" = xyes; then XORG_DRIVER_MODESETTING=yes fi So we are building modesetting driver (which needs drm headers) even with USE=minimal, because ebuild pass --enable-libdrm to configure unconditionally. And USE="minimal -udev -xorg" builds fine, because modesetting driver is not built in this case. This is more like a oxrg-server build system issue. You cannot really build xorg-server without libdrm, as it includes xf86drm.h in lnx_platform.c and the header is part of x11-libs/libdrm. Looks to me like the autotools should use pkg-config to find libdrm even if there's no UDEV enabled. (In reply to Piotr Karbowski from comment #6) > You cannot really build xorg-server without libdrm, as it includes xf86drm.h > in lnx_platform.c and the header is part of x11-libs/libdrm. The code in lnx_platform.c depends on udev support (XSERVER_PLATFORM_BUS macro). So I think the real problem here is modesetting driver which cannot be disabled separetely from libdrm and xorg. Created attachment 590686 [details]
0001-configure-Set-libdrm-flags-correctly-for-modesetting.patch
Attached patch fixed this issue for me.
Would you kindly send that upstream? Ideally they will pull it in and we will get it with new release. Thank you! I poked upstream and got this merged into master, and then I merged it into the 1.20 branch, so it'll be in 1.20.6. This is in the 1.20 branch as well. 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(+) |