Bug 259949

Summary: x11-drivers/xf86-video-vmware is broken after libdrm-2.4.108
Product: Ports & Packages Reporter: Dima Panov <fluffy>
Component: Individual Port(s)Assignee: freebsd-x11 (Nobody) <x11>
Status: Closed FIXED    
Severity: Affects Some People CC: ctyz1999+bugzilla, ddrinnon, manu, marko.cupac, olgeni
Priority: --- Flags: bugzilla: maintainer-feedback? (x11)
Version: Latest   
Hardware: Any   
OS: Any   

Description Dima Panov freebsd_committer freebsd_triage 2021-11-20 15:35:08 UTC
After update graphics/libdrm from 2.4.107 to 2.4.108 which introduce some linuxism with Bool type redefinition, at least x11-drivers/xf86-video-vmware fails to compile.

part of buildlog:

--- libvmwgfx_la-vmwgfx_saa.lo ---
In file included from vmwgfx_saa.c:34:
In file included from ./vmwgfx_saa.h:31:
In file included from ../saa/saa.h:43:
In file included from /usr/local/include/xorg/xf86.h:44:
In file included from /usr/local/include/xorg/xf86str.h:43:
/usr/local/include/xorg/xf86Opt.h:44:10: error: cannot combine with previous 'type-name' declaration specifier
    Bool bool;
         ^
/usr/include/stdbool.h:39:14: note: expanded from macro 'bool'
#define bool    _Bool
                ^
In file included from vmwgfx_saa.c:34:
In file included from ./vmwgfx_saa.h:31:
In file included from ../saa/saa.h:43:
In file included from /usr/local/include/xorg/xf86.h:44:
In file included from /usr/local/include/xorg/xf86str.h:43:
/usr/local/include/xorg/xf86Opt.h:44:5: warning: declaration does not declare anything [-Wmissing-declarations]
    Bool bool;
    ^~~~~~~~~
1 warning and 1 error generated.
Comment 1 Marko Cupać 2021-11-23 11:51:15 UTC
+1

Poudriere version: 3.3.7_1
Host OSVERSION: 1300139
Jail OSVERSION: 1300139

/usr/local/include/xorg/xf86Opt.h:44:5: warning: declaration does not declare anything [-Wmissing-declarations]
--- libvmwgfx_la-vmwgfx_saa.lo ---
    Bool bool;
         ^
--- libvmwgfx_la-vmwgfx_drmi.lo ---
    Bool bool;
    ^~~~~~~~~
--- libvmwgfx_la-vmwgfx_saa.lo ---
/usr/include/stdbool.h:39:14: note: expanded from macro 'bool'
#define bool    _Bool
                ^
In file included from vmwgfx_saa.c:34:
In file included from ./vmwgfx_saa.h:31:
In file included from ../saa/saa.h:43:
In file included from /usr/local/include/xorg/xf86.h:44:
In file included from /usr/local/include/xorg/xf86str.h:43:
/usr/local/include/xorg/xf86Opt.h:44:5: warning: declaration does not declare anything [-Wmissing-declarations]
    Bool bool;
    ^~~~~~~~~
1 warning and 1 error generated.
*** [libvmwgfx_la-vmwgfx_saa.lo] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/x11-drivers/xf86-video-vmware/work/xf86-video-vmware-13.3.0/vmwgfx
--- libvmwgfx_la-vmwgfx_driver.lo ---
1 warning generated.
mv -f .deps/libvmwgfx_la-vmwgfx_driver.Tpo .deps/libvmwgfx_la-vmwgfx_driver.Plo
--- libvmwgfx_la-vmwgfx_drmi.lo ---
1 warning and 1 error generated.
*** [libvmwgfx_la-vmwgfx_drmi.lo] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/x11-drivers/xf86-video-vmware/work/xf86-video-vmware-13.3.0/vmwgfx
3 errors

make[3]: stopped in /wrkdirs/usr/ports/x11-drivers/xf86-video-vmware/work/xf86-video-vmware-13.3.0/vmwgfx

make[2]: stopped in /wrkdirs/usr/ports/x11-drivers/xf86-video-vmware/work/xf86-video-vmware-13.3.0

make[1]: stopped in /wrkdirs/usr/ports/x11-drivers/xf86-video-vmware/work/xf86-video-vmware-13.3.0
===> Compilation failed unexpectedly.
Comment 2 commit-hook freebsd_committer freebsd_triage 2021-12-02 14:10:47 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=40e9ad50deb01802e7c8ae1aed068d3e2ab78d69

commit 40e9ad50deb01802e7c8ae1aed068d3e2ab78d69
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2021-12-02 13:56:56 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2021-12-02 14:09:36 +0000

    x11-drivers/xf86-video-vmware: Fix build with latest libdrm

    libdrm includes stdbool.h but xorg redefines it in xf86Opt.h
    Simply undef our bool to fix this failure.

    PR: 259949
    Sponsored by:   Beckhoff Automation GmbH & Co. KG

 x11-drivers/xf86-video-vmware/files/patch-saa_saa.h (new)      | 10 ++++++++++
 .../files/patch-vmwgfx_vmwgfx__driver.h (new)                  | 10 ++++++++++
 2 files changed, 20 insertions(+)