[cairo] ld: Undefined symbol: _compress with cairo 1.2.0 on Mac OS X; cairo 1.1.10 was fine

Ryan Schmidt cairo-2006c at ryandesign.com
Wed Jul 5 11:39:31 PDT 2006


Hi! I just joined the list. I'm interested in cairo because I want  
antialiased rendering in graphviz [1]. I'm putting together a binary  
distribution of graphviz for Mac OS X that includes all the  
prerequisites including cairo, pkgconfig, libpng, expat and so forth.  
I want everything in a separate directory so I set my --prefix for  
all these things to /usr/local/graphviz-2.9.

I was successfully building everything with cairo 1.1.10, but just  
saw that 1.2.0 was released and so I dropped that in, but  
unfortunately it won't compile; I get an error (copied below in full)  
about the symbol _compress being undefined.

I looked through the subjects of the past month's mailing list posts  
and didn't see anything about this. I Googled this error and found a  
page [2] which mentions the following solution to this problem (not  
specifically in cairo):

> If during the build process you get the Undefined Symbols _compress  
> and _uncompress, add -lz to the end of your build command

But I'm not sure where to apply that change in the cairo 1.2.0  
source, nor whether it's the right solution. Does anybody here know?


I'm on Mac OS X 10.4.7 PPC G4 with expat 2.0.0, libpng 1.2.10, pkg- 
config 0.20 and zlib 1.2.3 already compiled in the prefix directory.  
I'm not using any special ./configure parameters on cairo, other than  
--prefix.


[1] http://www.graphviz.org/

[2] http://lists.apple.com/archives/macos-x-server/2004/Apr/ 
msg01771.html



gcc -dynamiclib  -o .libs/libcairo.2.9.0.dylib  .libs/cairo.o .libs/ 
cairo-arc.o .libs/cairo-array.o .libs/cairo-base85-stream.o .libs/ 
cairo-cache.o .libs/cairo-clip.o .libs/cairo-color.o .libs/cairo- 
debug.o .libs/cairo-fixed.o .libs/cairo-font.o .libs/cairo-font- 
options.o .libs/cairo-gstate.o .libs/cairo-hash.o .libs/cairo- 
hull.o .libs/cairo-image-surface.o .libs/cairo-lzw.o .libs/cairo- 
matrix.o .libs/cairo-operator.o .libs/cairo-path.o .libs/cairo-path- 
bounds.o .libs/cairo-path-data.o .libs/cairo-path-fill.o .libs/cairo- 
path-stroke.o .libs/cairo-pen.o .libs/cairo-polygon.o .libs/cairo- 
rectangle.o .libs/cairo-region.o .libs/cairo-scaled-font.o .libs/ 
cairo-slope.o .libs/cairo-spline.o .libs/cairo-stroke-style.o .libs/ 
cairo-surface.o .libs/cairo-surface-fallback.o .libs/cairo- 
traps.o .libs/cairo-pattern.o .libs/cairo-unicode.o .libs/cairo- 
output-stream.o .libs/cairo-wideint.o .libs/cairo-meta- 
surface.o .libs/cairo-paginated-surface.o .libs/cairo-analysis- 
surface.o .libs/cairo-ft-font.o .libs/cairo-ps-surface.o .libs/cairo- 
pdf-surface.o .libs/cairo-png.o .libs/cairo-svg-surface.o .libs/cairo- 
font-subset.o .libs/cairo-type1-subset.o .libs/cairo-scaled-font- 
subsets.o .libs/cairo-xlib-surface.o .libs/cairo-xlib-screen.o  .libs/ 
libcairo.lax/libpixman.a/fbcompose.o .libs/libcairo.lax/libpixman.a/ 
fbedge.o .libs/libcairo.lax/libpixman.a/fbpict.o .libs/libcairo.lax/ 
libpixman.a/fbtrap.o .libs/libcairo.lax/libpixman.a/icblt.o .libs/ 
libcairo.lax/libpixman.a/icbltone.o .libs/libcairo.lax/libpixman.a/ 
iccolor.o .libs/libcairo.lax/libpixman.a/icformat.o .libs/ 
libcairo.lax/libpixman.a/icimage.o .libs/libcairo.lax/libpixman.a/ 
icpixels.o .libs/libcairo.lax/libpixman.a/icrect.o .libs/libcairo.lax/ 
libpixman.a/icstipple.o .libs/libcairo.lax/libpixman.a/ 
ictransform.o .libs/libcairo.lax/libpixman.a/ictrap.o .libs/ 
libcairo.lax/libpixman.a/ictri.o .libs/libcairo.lax/libpixman.a/ 
icutil.o .libs/libcairo.lax/libpixman.a/pixregion.o .libs/ 
libcairo.lax/libpixman.a/renderedge.o   -L/usr/local/graphviz-2.9/lib  
-L/usr/X11R6/lib -lSM -lICE -lX11 -lXrender /usr/local/graphviz-2.9/ 
lib/libpng12.dylib -lfontconfig -lfreetype  -install_name  /usr/local/ 
graphviz-2.9/lib/libcairo.2.dylib -Wl,-compatibility_version -Wl,12 - 
Wl,-current_version -Wl,12.0
ld: Undefined symbols:
_compress
/usr/bin/libtool: internal link edit command failed
make[3]: *** [libcairo.la] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

cairo-ft-font.c: In function '_decompose_glyph_outline':
cairo-ft-font.c:1715: warning: passing argument 2 of  
'FT_Outline_Transform' discards qualifiers from pointer target type
ld: Undefined symbols:
_compress
/usr/bin/libtool: internal link edit command failed
make[3]: *** [libcairo.la] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2




More information about the cairo mailing list