<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Compilng DRM fails: implicit declaration of S_ISCHR() and fstat()"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106047">106047</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Compilng DRM fails: implicit declaration of S_ISCHR() and fstat()
</td>
</tr>
<tr>
<th>Product</th>
<td>cairo
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>general
</td>
</tr>
<tr>
<th>Assignee</th>
<td>chris@chris-wilson.co.uk
</td>
</tr>
<tr>
<th>Reporter</th>
<td>dpa-bugs@aegee.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>cairo-bugs@cairographics.org
</td>
</tr></table>
<p>
<div>
<pre>With 1.15.12 doing
./configure --enable-xml --enable-glesv2 --enable-glesv3 --enable-xlib-xcb
--enable-tee --enable-drm
prints
cairo (version 1.15.12 [snapshot]) will be compiled with:
The following surface backends:
Image: yes (always builtin)
Recording: yes (always builtin)
Observer: yes (always builtin)
Mime: yes (always builtin)
Tee: yes
XML: yes
Xlib: yes
Xlib Xrender: yes
Qt: no (disabled, use --enable-qt to enable)
Quartz: no (requires CoreGraphics framework)
Quartz-image: no (disabled, use --enable-quartz-image to enable)
XCB: yes
Win32: no (requires a Win32 platform)
OS2: no (disabled, use --enable-os2 to enable)
CairoScript: yes
PostScript: yes
PDF: yes
SVG: yes
OpenGL: no (disabled, use --enable-gl to enable)
OpenGL ES 2.0: yes
OpenGL ES 3.0: yes
BeOS: no (disabled, use --enable-beos to enable)
DirectFB: no (disabled, use --enable-directfb to enable)
OpenVG: no (disabled, use --enable-vg to enable)
DRM: yes
Cogl: no (disabled, use --enable-cogl to enable)
The following font backends:
User: yes (always builtin)
FreeType: yes
Fontconfig: yes
Win32: no (requires a Win32 platform)
Quartz: no (requires CoreGraphics framework)
The following functions:
PNG functions: yes
GLX functions: no (not required by any backend)
WGL functions: no (not required by any backend)
EGL functions: yes
X11-xcb functions: yes
XCB-shm functions: yes
The following features and utilities:
cairo-trace: yes
cairo-script-interpreter: yes
And the following internal features:
pthread: yes
gtk-doc: no
gcov support: no
symbol-lookup: no (requires bfd)
test surfaces: no (disabled, use --enable-test-surfaces to enable)
ps testing: no (requires libspectre)
pdf testing: yes
svg testing: no (requires librsvg-2.0 >= 2.35.0)
--- The Xlib/XCB functions feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to Xlib/XCB functions specific
--- API.
--- The DRM surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to DRM surface backend specific
--- API.
--- The OpenGLESv2 surface backend feature is still under active development
--- and is included in this release only as a preview. It does NOT fully work
--- yet and incompatible changes may yet be made to OpenGLESv2 surface
--- backend specific API.
--- The OpenGLESv3 surface backend feature is still under active development
--- and is included in this release only as a preview. It does NOT fully work
--- yet and incompatible changes may yet be made to OpenGLESv3 surface
--- backend specific API.
--- The tee surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to tee surface backend specific
--- API.
--- The xml surface backend feature is still under active development and is
--- included in this release only as a preview. It does NOT fully work yet
--- and incompatible changes may yet be made to xml surface backend specific
--- API.
and doing `make` emits:
Makefile:1502: warning: overriding recipe for target 'recheck'
Makefile:1140: warning: ignoring old recipe for target 'recheck'
make all-recursive
make[1]: Entering directory '/src/gnome/cairo-1.15.12'
Makefile:1502: warning: overriding recipe for target 'recheck'
Makefile:1140: warning: ignoring old recipe for target 'recheck'
Making all in src
make[2]: Entering directory '/src/gnome/cairo-1.15.12/src'
make all-am
make[3]: Entering directory '/src/gnome/cairo-1.15.12/src'
CC cairo-drm.lo
In file included from ./cairo-reference-count-private.h:40:0,
from ./cairo-types-private.h:45,
from ./cairo-error-private.h:43,
from ./cairoint.h:74,
from drm/cairo-drm.c:33:
drm/cairo-drm.c: In function ‘_device_finish’:
drm/cairo-drm.c:86:36: warning: passing argument 1 of
‘_cairo_atomic_ptr_cmpxchg_impl’ from incompatible pointer type
[-Wincompatible-pointer-types]
if (_cairo_atomic_ptr_cmpxchg (&_cairo_drm_default_device,
^
./cairo-atomic-private.h:145:34: note: in definition of macro
‘_cairo_atomic_ptr_cmpxchg’
_cairo_atomic_ptr_cmpxchg_impl(x, oldv, newv)
^
./cairo-atomic-private.h:138:1: note: expected ‘void **’ but argument is of
type ‘cairo_drm_device_t ** {aka struct _cairo_drm_device **}’
_cairo_atomic_ptr_cmpxchg_impl(void **x, void *oldv, void *newv)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drm/cairo-drm.c: At top level:
drm/cairo-drm.c:106:5: warning: initialization from incompatible pointer type
[-Wincompatible-pointer-types]
_device_flush,
^~~~~~~~~~~~~
drm/cairo-drm.c:106:5: note: (near initialization for
‘_cairo_drm_device_backend.flush’)
drm/cairo-drm.c: In function ‘cairo_drm_device_get_for_fd’:
drm/cairo-drm.c:267:9: error: implicit declaration of function ‘fstat’
[-Werror=implicit-function-declaration]
if (fstat (fd, &st) < 0 || ! S_ISCHR (st.st_mode)) {
^~~~~
drm/cairo-drm.c:267:34: error: implicit declaration of function ‘S_ISCHR’; did
you mean ‘S_IFCHR’? [-Werror=implicit-function-declaration]
if (fstat (fd, &st) < 0 || ! S_ISCHR (st.st_mode)) {
^~~~~~~
S_IFCHR
drm/cairo-drm.c: At top level:
drm/cairo-drm.c:390:1: fatal error: opening dependency file
.deps/cairo-drm.Tpo: Permission denied
}
^
cc1: some warnings being treated as errors
compilation terminated.
make[3]: *** [Makefile:2424: cairo-drm.lo] Error 1
make[3]: Leaving directory '/src/gnome/cairo-1.15.12/src'
make[2]: *** [Makefile:1962: all] Error 2
make[2]: Leaving directory '/src/gnome/cairo-1.15.12/src'
make[1]: *** [Makefile:910: all-recursive] Error 1
make[1]: Leaving directory '/src/gnome/cairo-1.15.12'
make: *** [Makefile:761: all] Error 2</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>