<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Test for X11/extensions/Xrender.h usability is broken under Solaris 10"
href="https://bugs.freedesktop.org/show_bug.cgi?id=58199">58199</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>chris@chris-wilson.co.uk
</td>
</tr>
<tr>
<th>Summary</th>
<td>Test for X11/extensions/Xrender.h usability is broken under Solaris 10
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>cairo-bugs@cairographics.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>minor
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>Solaris
</td>
</tr>
<tr>
<th>Reporter</th>
<td>bugzilla@andreas-borchert.de
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>1.12.8
</td>
</tr>
<tr>
<th>Component</th>
<td>xlib backend
</td>
</tr>
<tr>
<th>Product</th>
<td>cairo
</td>
</tr></table>
<p>
<div>
<pre>Xrender.h should not be #included without including <X11/Xlib.h> first.
Otherwise, XID remains undefined on Solaris 10, causing the test to fail:
configure:22124: checking X11/extensions/Xrender.h usability
configure:22124: gcc -c -g -O2 -D_POSIX_PTHREAD_SEMANTICS
-I/usr/openwin/include conftest.c >&5
In file included from /usr/openwin/include/X11/extensions/Xrender.h:28:0,
from conftest.c:115:
/usr/openwin/include/X11/extensions/render.h:29:1: error: unknown type name
'XID'
/usr/openwin/include/X11/extensions/render.h:30:1: error: unknown type name
'XID'
/usr/openwin/include/X11/extensions/render.h:31:1: error: unknown type name
'XID'
/usr/openwin/include/X11/extensions/render.h:32:1: error: unknown type name
'XID'
configure:22124: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "cairo"
| #define PACKAGE_TARNAME "cairo"
| #define PACKAGE_VERSION "1.12.8"
| #define PACKAGE_STRING "cairo 1.12.8"
| #define PACKAGE_BUGREPORT
"<a href="http://bugs.freedesktop.org/enter_bug.cgi?product=cairo">http://bugs.freedesktop.org/enter_bug.cgi?product=cairo</a>"
| #define PACKAGE_URL "<a href="http://cairographics.org/">http://cairographics.org/</a>"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define HAVE_DLFCN_H 1
| #define LT_OBJDIR ".libs/"
| #define _FILE_OFFSET_BITS 64
| #define WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
| #define HAVE_INTEL_ATOMIC_PRIMITIVES 1
| #define SIZEOF_VOID_P 4
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 4
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_SIZE_T 4
| #define HAVE_LIBRT 1
| #define HAVE_BUILTIN_RETURN_ADDRESS 1
| #define HAVE_STDINT_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_SYS_INT_TYPES_H 1
| #define HAVE_UINT64_T 1
| #define HAVE_FCNTL_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_ALARM 1
| #define HAVE_SCHED_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_MMAP 1
| #define HAVE_TIME_H 1
| #define HAVE_CLOCK_GETTIME 1
| #define HAVE_FECLEAREXCEPT 1
| #define HAVE_LIBGEN_H 1
| #define HAVE_SIGNAL_H 1
| #define HAVE_SETJMP_H 1
| #define HAVE_FENV_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_CTIME_R 1
| #define HAVE_DRAND48 1
| #define HAVE_FLOCKFILE 1
| #define HAVE_FUNLOCKFILE 1
| #define HAVE_LINK 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_MKDIR 2
| #define HAVE_FORK 1
| #define HAVE_WAITPID 1
| #define HAVE_RAISE 1
| #undef PACKAGE_VERSION
| #undef PACKAGE_STRING
| #undef PACKAGE_NAME
| #undef PACKAGE_TARNAME
| #define PACKAGE_VERSION USE_cairo_version_OR_cairo_version_string_INSTEAD
| #define PACKAGE_STRING USE_cairo_version_OR_cairo_version_string_INSTEAD
| #define PACKAGE_NAME USE_cairo_INSTEAD
| #define PACKAGE_TARNAME USE_cairo_INSTEAD
| #define HAVE_ZLIB 1
| #define HAVE_DLFCN_H 1
| #define CAIRO_HAS_DLSYM 1
| #define HAVE_X11_EXTENSIONS_XSHM_H 1
| #define HAVE_X11_EXTENSIONS_SHMSTR_H 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <X11/extensions/Xrender.h>
On Solaris 10, <X11/extensions/Xrender.h> is located in
/usr/openwin/share/include/X11/extensions/Xrender.h
which has as first include
#include <X11/extensions/render.h>
which in turn loads /usr/openwin/share/include/X11/extensions/render.h. These
are the very first lines of it:
typedef XID Glyph;
typedef XID GlyphSet;
typedef XID Picture;
typedef XID PictFormat;
But XID has not been defined at that point as unfortunately neither Xrender.h
nor render.h as shipped under Solaris include <X11/Xlib.h> first. Both files
are part of the Solaris 10 package SUNWxwinc in the version
6.6.2.7400,REV=0.2004.12.15
A workaround is to specify
xlib_CFLAGS="-include /usr/openwin/include/X11/X.h"
to configure.</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>