Bug 6864 - cairo 1.1.6 does not compile with mingw due to pthread problems.
Summary: cairo 1.1.6 does not compile with mingw due to pthread problems.
Status: RESOLVED DUPLICATE of bug 4475
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: 1.1.6
Hardware: x86 (IA32) Windows (All)
: highest blocker
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-09 07:06 UTC by Itai Bar-Haim
Modified: 2006-06-13 23:38 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Itai Bar-Haim 2006-05-09 07:06:40 UTC
cairo 1.1.6 does not compile with mingw due to pthread problems.
I have mingw, that comes with libpthread, and all the required files. It seems
that the symbols are ok, but that the linker can't find them. I checked
carefully the command line before the error, and I couldn't find any reference
to the pthread library (-lpthread).
I am using WinXP with msys/mingw.

Below is the compilation output:

$ make
make  all-recursive
make[1]: Entering directory `/d/itai/cairo-1.1.6'
Making all in pixman
make[2]: Entering directory `/d/itai/cairo-1.1.6/pixman'
Making all in src
make[3]: Entering directory `/d/itai/cairo-1.1.6/pixman/src'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/d/itai/cairo-1.1.6/pixman/src'
make[3]: Entering directory `/d/itai/cairo-1.1.6/pixman'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/d/itai/cairo-1.1.6/pixman'
make[2]: Leaving directory `/d/itai/cairo-1.1.6/pixman'
Making all in src
make[2]: Entering directory `/d/itai/cairo-1.1.6/src'
/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2   -o libcairo.la -rpath
/usr/local/lib -version-info 8:0:6 -no-undefined -export-symbols cairo.def
cairo.lo cairo-arc.lo cairo-array.lo cairo-base85-stream.lo cairo-cache.lo
cairo-clip.lo cairo-color.lo cairo-debug.lo cairo-fixed.lo cairo-font.lo
cairo-font-options.lo cairo-gstate.lo cairo-hash.lo cairo-hull.lo
cairo-image-surface.lo cairo-lzw.lo cairo-matrix.lo cairo-operator.lo
cairo-path.lo cairo-path-bounds.lo cairo-path-data.lo cairo-path-fill.lo
cairo-path-stroke.lo cairo-pen.lo cairo-polygon.lo cairo-region.lo
cairo-scaled-font.lo cairo-slope.lo cairo-spline.lo cairo-stroke-style.lo
cairo-surface.lo cairo-surface-fallback.lo cairo-traps.lo cairo-pattern.lo
cairo-unicode.lo cairo-output-stream.lo cairo-wideint.lo cairo-meta-surface.lo
cairo-paginated-surface.lo cairo-analysis-surface.lo  cairo-ft-font.lo
cairo-ps-surface.lo cairo-pdf-surface.lo cairo-png.lo cairo-svg-surface.lo 
cairo-font-subset.lo     cairo-win32-surface.lo cairo-win32-font.lo 
../pixman/src/libpixman.la -lgdi32 -lmsimg32 -Lc:/PROGRA~1/COMMON~1/GTK/2.0/lib
-lpng13 -lz     -Lc:/PROGRA~1/COMMON~1/GTK/2.0/lib -lfontconfig  
-Lc:/PROGRA~1/COMMON~1/GTK/2.0/lib -lfreetype -lz   -lz -lz
-Lc:/PROGRA~1/COMMON~1/GTK/2.0/lib -lxml2 -lz -liconv -lws2_32    -lm
rm -fr  .libs/libcairo.dll.a
if test "x`/bin/sed 1q cairo.def`" = xEXPORTS; then cp cairo.def
.libs/libcairo-2.dll.def; else echo EXPORTS > .libs/libcairo-2.dll.def; cat
cairo.def >> .libs/libcairo-2.dll.def; fi
 gcc -shared .libs/libcairo-2.dll.def  .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-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-win32-surface.o .libs/cairo-win32-font.o
-Wl,--whole-archive ../pixman/src/.libs/libpixman.a -Wl,--no-whole-archive 
-lgdi32 -lmsimg32 -Lc:/PROGRA~1/COMMON~1/GTK/2.0/lib -lpng13 -lfontconfig
-lfreetype -lxml2 -lz C:/msys/1.0/lib/libiconv.dll.a -lws2_32  -o
.libs/libcairo-2.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker
.libs/libcairo.dll.a
Creating library file: .libs/libcairo.dll.a
.libs/cairo-font.o(.text+0x13f): In function `cairo_toy_font_face_hash_table_lock':
d:/itai/cairo-1.1.6/src/cairo-font.c:231: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-font.o(.text+0x16e):d:/itai/cairo-1.1.6/src/cairo-font.c:239:
undefined reference to `_imp__pthread_mutex_unlock'
.libs/cairo-font.o(.text+0x18f): In function
`cairo_toy_font_face_hash_table_unlock':
d:/itai/cairo-1.1.6/src/cairo-font.c:250: undefined reference to
`_imp__pthread_mutex_unlock'
.libs/cairo-font.o(.text+0x4b4): In function `cairo_font_reset_static_data':
d:/itai/cairo-1.1.6/src/cairo-font.c:467: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-font.o(.text+0x4d6):d:/itai/cairo-1.1.6/src/cairo-font.c:470:
undefined reference to `_imp__pthread_mutex_unlock'
.libs/cairo-scaled-font.o(.text+0xf0): In function `cairo_scaled_font_map_lock':
d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:188: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-scaled-font.o(.text+0x157):d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:209:
undefined reference to `_imp__pthread_mutex_unlock'
.libs/cairo-scaled-font.o(.text+0x17f): In function `cairo_scaled_font_map_unlock':
d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:216: undefined reference to
`_imp__pthread_mutex_unlock'
.libs/cairo-scaled-font.o(.text+0x48e): In function `cairo_scaled_font_map_destroy':
d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:229: undefined reference to
`_imp__pthread_mutex_unlock'
.libs/cairo-scaled-font.o(.text+0xcdc): In function `cairo_scaled_glyph_lookup':
d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:1185: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-scaled-font.o(.text+0xd65):d:/itai/cairo-1.1.6/src/cairo-scaled-font.c:1252:
undefined reference to `_imp__pthread_mutex_unlock'
.libs/cairo-ft-font.o(.text+0xc0): In function `cairo_ft_unscaled_font_map_lock':
d:/itai/cairo-1.1.6/src/cairo-ft-font.c:245: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-ft-font.o(.text+0x142):d:/itai/cairo-1.1.6/src/cairo-ft-font.c:252:
undefined reference to `_imp__pthread_mutex_unlock'
.libs/cairo-ft-font.o(.text+0x15f): In function `cairo_ft_unscaled_font_map_unlock':
d:/itai/cairo-1.1.6/src/cairo-ft-font.c:263: undefined reference to
`_imp__pthread_mutex_unlock'
.libs/cairo-ft-font.o(.text+0x2431): In function `cairo_ft_font_reset_static_data':
d:/itai/cairo-1.1.6/src/cairo-ft-font.c:206: undefined reference to
`_imp__pthread_mutex_lock'
.libs/cairo-ft-font.o(.text+0x24b1):d:/itai/cairo-1.1.6/src/cairo-ft-font.c:239:
undefined reference to `_imp__pthread_mutex_unlock'
collect2: ld returned 1 exit status
make[2]: *** [libcairo.la] Error 1
make[2]: Leaving directory `/d/itai/cairo-1.1.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/d/itai/cairo-1.1.6'
make: *** [all] Error 2
Comment 1 Behdad Esfahbod 2006-06-13 23:38:42 UTC

*** This bug has been marked as a duplicate of 4475 ***


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.