[cairo] Linker errors when enabling MMX support in pixman

David Weiß David.Weiss at ptvgroup.com
Tue Sep 9 02:39:37 PDT 2014


Hey,

I'm trying to build cairo release 1.12.16 against pixman release 0.32.6 on windows using VC2010.
Everything works fine if I use MMX=off with pixman, but if I enable MMX, cairo build fails with the following linker errors:

[...]
cairo-pdf-operators.c
cairo-pdf-shading.c
cairo-deflate-stream.c
   Creating library release/cairo.lib and object release/cairo.exp
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_psrlqi referenced in function shift
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_psllqi referenced in function shift
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pxor referenced in function negate
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pmulhuw referenced in function pix_multiply
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_paddusw referenced in function pix_multiply
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pmullw referenced in function pix_multiply
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_paddusb referenced in function pix_add
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pshufw referenced in function expand_alpha
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_porreferenced in function over_rev_non_pre
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_from_int referenced in function load
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_punpcklbw referenced in function load8888
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _mm_setzero_si64 referenced in function load8888
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_packuswb referenced in function pack8888
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_to_int referenced in function store
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pmovmskb referenced in function is_equal
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pcmpeqb referenced in function is_equal
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_psrlwi referenced in function expand565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pand referenced in function expand565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_punpckhwd referenced in function expand_4xpacked565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_punpcklwd referenced in function expand_4xpacked565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_psllwi referenced in function expand_4xpacked565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pcmpeqd referenced in function expand_4xpacked565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_punpckhbw referenced in function expand8888
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_pmaddwd referenced in function pack_4xpacked565
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_empty referenced in function mmx_combine_over_u
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_packssdw referenced in function scaled_bilinear_scanline_mmx_8888_8888_SRC
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_psrldi referenced in function scaled_bilinear_scanline_mmx_8888_8888_SRC
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _m_paddw referenced in function scaled_bilinear_scanline_mmx_8888_8888_SRC
pixman-1.lib(pixman-mmx.obj) : error LNK2019: unresolved external symbol _mm_set_pi16 referenced in function scaled_bilinear_scanline_mmx_8888_8888_SRC
release/cairo.dll : fatal error LNK1120: 29 unresolved externals
make[1]: *** [release/cairo.dll] Error 96

I used
CFG_CFLAGS := -MD -Ox
LD_CFLAGS := -MACHINE:X64
on both pixman and cairo.

The error only occurs with MMX enabled in pixman!

Ideas? :)

Greetings,
--
David Weiß

PTV GROUP
Logistics Software Development

Haid-und-Neu-Str. 15, 76131 Karlsruhe, Germany

david.weiss at ptvgroup.com<mailto:david.weiss at ptvgroup.com>
www.ptvgroup.com<http://www.ptvgroup.com/>

http://ptv.to/facebook

PTV Planung Transport Verkehr AG
Headquarters: Karlsruhe
Executive Board: Vincent Kobesen (CEO)
Chairman of the Supervisory Board: Dr. h.c. Frank-Jürgen Weise
Commercial Register (HRB-Nr): 109262
Local Court: Mannheim

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cairographics.org/archives/cairo/attachments/20140909/d0298644/attachment-0001.html>


More information about the cairo mailing list