[cairo] Re: cairo errors under Solaris 9

Andre\\\' Blanchard Andre.Blanchard at matrixone.com
Mon Dec 5 11:22:08 PST 2005


 <Greg.Dunkel <at> mail.cuny.edu> writes:

> 
> 
> ----- Forwarded by Greg Dunkel/CENTRALOFFICE/CUNY on 11/28/2005 04:11 PM
> -----
> 
>                       Greg Dunkel - 
x                                                                              
                  
>                       978                      To:       joscu <at> 
domino1.cuny.edu                                                      
>                       <greg <at> domino1.cun        
cc:                                                                            
       
>                       y.edu>                   Subject:  cairo errors under 
Solaris 9                                                
> 
>                       11/28/2005 
04:10                                                                          
                     
>                       
PM                                                                             
                                
> 
> I wrote last week about a problem I was having building cairo from the
> latest snapshot using autogen.sh
> 
> When I put the latest version of m4, m4.1.4.4, the latest version of
> autoconf,  automake and libtools, autogen.sh did run successfully under
> Solaris 9 for the latest snapshot.
> 
> I also put
> 
>  #define PictStandardARGB32      0
>  #define PictStandardRGB24       1
>  #define PictStandardA8                     2
>  #define PictStandardA4                     3
>  #define PictStandardA1                     4
>  #define PictStandardNUM         5
> 
>  in cairo-xlib-surface.c to solve some of the unknown symbols problem.  But
> I still got the following  undefined symbol errors.
> 
>  Does anybody have any suggestions on how I can get around these problems
> and build cairo on Solaris 9.
> 
>  /greg
> 
> gcc -DHAVE_CONFIG_H -I. -I. -I.. -I. -I../pixman/src
> -I/usr/local/include/libpng12 -I/usr/local/include
> -I/usr/local/include/freetype2 -Wall -Wpointer-arith -Wstrict-prototypes
> -Wmissing-prototypes -Wmissing-declarations -Wnested-externs
> -fno-strict-aliasing -g -O2 -MT cairo-xlib-surface.lo -MD -MP -MF
> .deps/cairo-xlib-surface.Tpo -c cairo-xlib-surface.c  -fPIC -DPIC -o
> .libs/cairo-xlib-surface.o
> 
> cairo-xlib-surface.c: In function `_cairo_xlib_surface_set_matrix':
> cairo-xlib-surface.c:834: error: `XTransform' undeclared (first use in this
> function)
> cairo-xlib-surface.c:834: error: (Each undeclared identifier is reported
> only once
> cairo-xlib-surface.c:834: error: for each function it appears in.)
> cairo-xlib-surface.c:834: error: parse error before "xtransform"
> cairo-xlib-surface.c:839: error: `xtransform' undeclared (first use in this
> function)
> cairo-xlib-surface.c:853: error: syntax error before "identity"
> cairo-xlib-surface.c:859: error: `identity' undeclared (first use in this
> function)
> cairo-xlib-surface.c: At top level:
> cairo-xlib-surface.c:865: error: parse error before '->' token
> 
> cairo-xlib-surface.c: In function `_cairo_xlib_surface_set_filter':
> cairo-xlib-surface.c:889: error: `FilterFast' undeclared (first use in this
> function)
> cairo-xlib-surface.c:892: error: `FilterGood' undeclared (first use in this
> function)
> cairo-xlib-surface.c:895: error: `FilterBest' undeclared (first use in this
> function)
> cairo-xlib-surface.c:898: error: `FilterNearest' undeclared (first use in
> this function)
> cairo-xlib-surface.c:901: error: `FilterBilinear' undeclared (first use in
> this function)
> 
> cairo-xlib-surface.c: In function `_create_trapezoid_mask':
> cairo-xlib-surface.c:1413: error: `XTrapezoid' undeclared (first use in
> this function)
> cairo-xlib-surface.c:1413: error: `offset_traps' undeclared (first use in
> this function)
> cairo-xlib-surface.c:1443: warning: implicit declaration of function
> `XRenderCompositeTrapezoids'
> cairo-xlib-surface.c:1443: warning: nested extern declaration of
> `XRenderCompositeTrapezoids'
> cairo-xlib-surface.c: In function
> `_cairo_xlib_surface_composite_trapezoids':
> cairo-xlib-surface.c:1500: warning: nested extern declaration of
> `XRenderFindStandardFormat'
> cairo-xlib-surface.c:1500: warning: assignment makes pointer from integer
> without a cast
> cairo-xlib-surface.c:1503: warning: assignment makes pointer from integer
> without a cast
> cairo-xlib-surface.c:1564: warning: nested extern declaration of
> `XRenderCompositeTrapezoids'
> cairo-xlib-surface.c:1570: error: `XTrapezoid' undeclared (first use in
> this function)
> cairo-xlib-surface.c:1570: error: parse error before ')' token
> cairo-xlib-surface.c: In function `_cairo_xlib_surface_create_internal':
> cairo-xlib-surface.c:1808: warning: nested extern declaration of
> `XRenderFindStandardFormat'
> cairo-xlib-surface.c:1808: warning: assignment makes pointer from integer
> without a cast
> make[2]: *** [cairo-xlib-surface.lo] Error 1
> 

Hi:

As I just completed this (and it was 'painful') I wanted to pass along 
some 'tips'.  Your results may vary:

MY Objective: Build gtk on Solaris 9 (Mozilla Browser Use)

Issue 1). Xrender.h required the following change (addition):

Line 33

From

#include<X11/Xutil.h>

To
#include<X11/Xlib.h>
#include<X11/Xutil.h>

Given dependencies, I would advise that once this change is implemented you 
rebuild all your other 'projects'

Issue 2). Remove "/usr/openwin/include" references in Makefiles that are 
broken (i.e. generate errors); for me these were Makefiles that generate an 
error for a undeclared XTrapezoid reference.  Specifically, I would remove the 
assignment on X_CFLAGS, but in general my changes would alert the Makefile 
compilation to not use the openwin includes.  Given that you wish to rely on 
the opensource project equivalents this is most likely a good choice.

Issue 3). Note package dependencies (i.e. backends).  Make sure you install 
projects/packages in the proper order, otherwise certain resources (pangocairo 
comes to mind) will be missing which will cause the next project (gtk in my 
case) to fail.  

Issue 4).  Choose an uptodate gcc compiler.  I installed 2.95.2 in order to 
then build gcc 3.2.  Then I used gcc 3.2 for this generation

Issue 5). I initialized the LIBS environment variable to the following:
/usr/local/lib/libiconv.so

i.e. all my makefiles would include this during their target generation.

JIC:  If you plan to build gtk, be advised that gtkcalendar.c is broken.

Lastly, Here is my project list (after the gtk completion)

~> pkg-config --list-all
gmodule-export-2.0    GModule - Dynamic module loader for GLib
cairo                 cairo - Multi-platform 2D graphics library
gdk-pixbuf-xlib-2.0   GdkPixbuf Xlib - GdkPixbuf rendering for Xlib
pangocairo            Pango Cairo - Cairo rendering support for Pango
gdk-x11-2.0           GDK - GIMP Drawing Kit (x11 target)
gmodule-2.0           GModule - Dynamic module loader for GLib
freetype2             FreeType 2 - A free, high-quality, and portable font 
engine.
fontconfig            Fontconfig - Font configuration and customization library
gdk-pixbuf-2.0        GdkPixbuf - Image loading and scaling
gtk+-x11-2.0          GTK+ - GIMP Tool Kit (x11 target)
glib-2.0              GLib - C Utility Library
gobject-2.0           GObject - GLib Type, Object, Parameter and Signal Library
gthread-2.0           GThread - Thread support for GLib
libpng                libpng12 - Loads and saves PNG files
pangoft2              Pango FT2 - Freetype 2.0 font support for Pango
gtk+-2.0              GTK+ - GIMP Tool Kit (x11 target)
gmodule-no-export-2.0 GModule - Dynamic module loader for GLib
pangox                Pango X - X Window System font support for Pango
libpng12              libpng12 - Loads and saves PNG files
pangoxft              Pango Xft - Xft font support for Pango
xft                   Xft - X FreeType library
render                Render - Render extension headers
pango                 Pango - Internationalized text handling
xrender               Xrender - X Render Library
gdk-2.0               GDK - GIMP Drawing Kit (x11 target)
atk                   Atk - Accessibility Toolkit


Good Luck!







More information about the cairo mailing list