[cairo] Recommendations for 1.4.0

Behdad Esfahbod behdad at behdad.org
Mon Mar 5 10:37:42 PST 2007


On Sat, 2007-03-03 at 22:45 -0800, Dave Yeo wrote:
> On Sat, 03 Mar 2007 16:13:20 -0500, Behdad Esfahbod wrote:
> 
> >  - Fix mutex initialization in win32, os2, and beos backends.  They are
> >out of synch with the actually mutexes declared, and that causes link
> >errors if not using pthread on win32.  I'm wondering if we should go for
> >the backup plan:
> >
> >http://lists.freedesktop.org/archives/cairo/2007-February/009679.html
> 
> Ok, I tried compiling and doing a make check on 1.3.16. First problem
> is that in test/makefile.am we  need this patch
> 
> --- Makefile.am.bak     Fri Mar  2 21:04:02 2007
> +++ Makefile.am Sat Mar  3 22:24:54 2007
> @@ -465,7 +465,7 @@
>  LDADD += -lpthread
>  endif
> 
> -SUPPORT_PROGS += imagediff png-flatten
> +SUPPORT_PROGS += imagediff$(EXEEXT) png-flatten$(EXEEXT)
> 
>  if CAIRO_CAN_TEST_PDF_SURFACE
>  SUPPORT_PROGS += pdf2png
> 
> please apply. Actually looking at above pdf2png should also have
> $(EXEEXT) added.

Fixed.  Thanks.


> Anyways make check then ends with this
> f:/usr/bin/sh.exe ../libtool --tag=CC --mode=link gcc.exe  -g -O2   -o
> imagediff.exe  imagediff.o libcairotest.la -lpthread -lm
> gcc.exe    -g    -O2    -o    imagediff.exe    imagediff.o       
> ./.libs/cairotest.a    -L/usr/local/lib   
> /usr/src/cairo-1.3.16/src/.libs/cairo.a   
> /usr/local/lib/libfontconfig_dll.a    /usr/local/lib/libfreetype_dll.a 
>   /usr/local/lib/expat.a    /usr/local/lib/libpng12_dll.a    -lz   
> -lpthread    -lm       -L/usr/local/lib -L/usr/local/lib
> cairo-font.c:96
> (/usr/src/cairo-1.3.16/src/.libs/cairo.a(cairo-font.o)): Undefined
> symbol _cairo_font_face_mutex referenced from text segment
> cairo-font.c:104
> (/usr/src/cairo-1.3.16/src/.libs/cairo.a(cairo-font.o)): Undefined
> symbol _cairo_font_face_mutex referenced from text segment
> ...
> cairo-font.c:0 (/usr/src/cairo-1.3.16/src/.libs/cairo.a(cairo-font.o)):
> More undefined symbol _cairo_font_face_mutex refs follow
> make[3]: *** [imagediff.exe] Error 1
> 
> which I take is the mutex problem referred above
> Dave
> ps also something needs to be done about pthread on OS/2, I usually
> edit config.h to comment out
> #define HAVE_PTHREAD_H 1
> in config.h
> A better fix would be along the lines of win32 where you can have or
> not have pthreads. Or perhaps a configure option.
> pps also here configure has to be called with --enable-os2
> --disable-xlib, not a big deal but xlib needs an older libc (EMX) and
> is not compatible with the newer libc (klibc).

I'm planning on adding a --without-pthread for those cases.


-- 
behdad
http://behdad.org/

"Those who would give up Essential Liberty to purchase a little
 Temporary Safety, deserve neither Liberty nor Safety."
        -- Benjamin Franklin, 1759





More information about the cairo mailing list