Source: libdrm
Version: 2.4.70-1
Severity: important
Justification: fails to build from source (but built successfully in the past)

Builds of libdrm on kFreeBSD and the Hurd have been failing because
the headers drm.h pulls in on those platforms don't work out.
Specifically, kFreeBSD builds have been failing with

  In file included from ../../../include/drm/drm_fourcc.h:27:0,
                   from ../../../tests/kms/libkms-test-framebuffer.c:33:
  ../../../include/drm/drm.h:50:9: error: unknown type name 'uint8_t'
   typedef uint8_t  __u8;
           ^
  ../../../include/drm/drm.h:52:9: error: unknown type name 'uint16_t'
   typedef uint16_t __u16;
           ^
  ../../../include/drm/drm.h:54:9: error: unknown type name 'uint32_t'
   typedef uint32_t __u32;
           ^
  ../../../include/drm/drm.h:56:9: error: unknown type name 'uint64_t'
   typedef uint64_t __u64;
           ^

and Hurd builds have been failing with

  In file included from ../xf86drm.h:40:0,
                   from ../xf86drm.c:70:
  ../include/drm/drm.h:47:24: fatal error: sys/ioccom.h: No such file or 
directory

To remedy these errors, I would recommend replacing <sys/ioccom.h> with
<sys/ioctl.h> (which is more broadly available, and pulls in
<sys/ioccom.h> on both kFreeBSD/GNU and pure *BSD), and supplementing
<sys/types.h> with <stdint.h>.  (<sys/types.h> should stay for size_t.)

Could you please take a look?

Thanks!

Reply via email to