Bug 4950

Summary: cairo build problems on HP-UX
Product: cairo Reporter: Christoph Bauer <Christoph.Bauer>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: high CC: bkelly
Version: 1.0.2   
Hardware: PA-RISC (HP)   
OS: HP-UX   
Whiteboard:
i915 platform: i915 features:
Attachments: config.h generated by configure

Description Christoph Bauer 2005-11-03 00:51:39 UTC
Hi,

configure runs ok and the config.h includes these lines:

/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1

/* Define to 1 if you have the <sys/int_types.h> header file. */
/* #undef HAVE_SYS_INT_TYPES_H */

/* Define to 1 if you have the <stdint.h> header file. */
/* #undef HAVE_STDINT_H */

but

pixman/src/pixman.h 

includes <stdint.h>.

Then these warnings occurs:

In file included from ../../../pixman/src/pixman-xserver-compat.h:47,
                 from ../../../pixman/src/fbedge.c:26:
../../../pixman/src/icint.h:48:1: warning: "MIN" redefined
In file included from /usr/include/limits.h:411,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/limits.h:122,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/syslimits.h:7,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/limits.h:11,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/wchar.h:39,
                 from /usr/include/inttypes.h:506,
                 from ../../../pixman/src/pixman.h:87,
                 from ../../../pixman/src/icint.h:30,
                 from ../../../pixman/src/pixman-xserver-compat.h:47,
                 from ../../../pixman/src/fbedge.c:26:
/usr/include/sys/param.h:379:1: warning: this is the location of the previous de
      finition
In file included from ../../../pixman/src/pixman-xserver-compat.h:47,
                 from ../../../pixman/src/fbedge.c:26:
../../../pixman/src/icint.h:49:1: warning: "MAX" redefined
In file included from /usr/include/limits.h:411,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/limits.h:122,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/syslimits.h:7,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/limits.h:11,
                 from /projekte/backup/tools/unix/hp7u11/bin/../lib/gcc/hppa2.0w
      -hp-hpux11.11/4.0.0/include/wchar.h:39,
                 from /usr/include/inttypes.h:506,
                 from ../../../pixman/src/pixman.h:87,
                 from ../../../pixman/src/icint.h:30,
                 from ../../../pixman/src/pixman-xserver-compat.h:47,
                 from ../../../pixman/src/fbedge.c:26:
/usr/include/sys/param.h:380:1: warning: this is the location of the previous de
      finition

Furthermore this error is triggered:
# error "No mutex declarations. Cairo will not work with multiple threads." \
        "(Remove this #error directive to acknowledge & accept this limitation)."


And then (after removing the error above) the build fails with:
In file included from ../../src/cairoint.h:178,
                 from ../../src/cairo.c:38:
../../src/cairo-wideint.h:60:2: error: #error Cannot find definitions for
fixed-width integral types (uint8_t, uint32_t, etc.)

Best regards,
Christop Bauer
Comment 1 Christoph Bauer 2005-11-03 00:52:56 UTC
Created attachment 3688 [details]
config.h generated by configure
Comment 2 Christoph Bauer 2005-11-04 01:17:34 UTC
The stdint problem occurs on SGI/IRIX too. config.h is like above ok.
Comment 3 Boyd Kelly 2005-12-20 18:35:11 UTC
This error also seems to appear when trying to build netbsd cairo package 1.0.2
on Interix.


/usr/include/sys/types.h:159: warning: `uint32_t' previously declared here
../pixman/src/stdint.h:83: warning: redefinition of `int64_t'
/usr/include/sys/types.h:167: warning: `int64_t' previously declared here
In file included from cairoint.h:180,
                 from cairo.c:38:
cairo-wideint.h:60:2: #error Cannot find definitions for fixed-width integral ty
pes (uint8_t, uint32_t, etc.)
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/graphics/cairo/work/cairo-1.0.2/src
*** Error code 1
Comment 4 Christoph Bauer 2006-03-24 00:50:36 UTC
diff pixman.h.orig pixman.h
82a83
> #include "config.h"
86c87
< #elif defined (__OpenBSD__) || defined (_AIX)
---
> #elif HAVE_INTTYPES_H
Comment 5 Christoph Bauer 2006-03-24 01:25:05 UTC
With the patch above, cairo-1.0.4 build fails with 

 cc -DHAVE_CONFIG_H -I. -I../../src -I.. -I../../src -I../../pixman/src -
DXTHREADS -I/T/tools/unix/hp7u11/include -I/opt/libpng/include/libpng12 -
I/T/tcl_tk/8.5/add-on-libs/hp7u11/include -I/T/tcl_tk/8.5/add-on-
libs/hp7u11/include/freetype2 -Ae +DAportable -c ../../src/cairo.c -Wp,-
M.deps/cairo.TPlo  +Z -DPIC -o .libs/cairo.o
cc: "../../src/cairoint.h", line 254: error 1574: Unknown size 
for "cairo_clip_mode_t".
cc: "../../src/cairo.c", line 299: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 325: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 971: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 998: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 1264: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 1394: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 1561: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 1602: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 1752: warning 558: Empty declaration.
cc: "../../src/cairo.c", line 2297: warning 558: Empty declaration.

Very strange, the code looks good. Any ideas?
Comment 6 Christoph Bauer 2006-03-24 01:37:30 UTC
it compiles, if cairo_clip_mode_t is defined as int in cairoint.h:

typedef int cairo_clip_mode_t;
Comment 7 Chris Wilson 2008-10-10 04:38:01 UTC
The original problem was resolved by the defensive manner in which stdint types are now defined in the absence of stdint.h. The second problem is a very bizzarre issue that I'm writing off as a compiler bug... Please can you try compiling the current stable version (1.8.0) on your platform - I don't believe we have anybody who regularly reports build/test issues from HP-UX so I fear our support becoming stale. Thanks.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.