[yocto] Build failure on recent yocto download

Tim Bird tim.bird at am.sony.com
Thu Aug 4 11:51:44 PDT 2011


On 08/03/2011 06:44 PM, Khem Raj wrote:
> On Wednesday, August 03, 2011 05:08:43 PM Tim Bird wrote:
>> |                  from cairo-scaled-font-private.h:45,
>> |                  from cairoint.h:380,
>> |
>> |                  from cairo-arc.c:37:
>> | cairo-mutex-impl-private.h:262:3: error: #error "XXX: No mutex
>> | implementation found.  Cairo will not work with multiple
>> | threads.  Define CAIRO_NO_MUTEX to 1 to acknowledge and accept this
>> | limitation
>> and compile cairo without thread-safety support."
>>
>> | In file included from cairo-mutex-type-private.h:45:0,
>> |
>> |                  from cairo-scaled-font-private.h:45,
>> |                  from cairoint.h:380,
>> |
>> |                  from cairo-arc.c:37:
>> | cairo-mutex-impl-private.h:271:30: error: expected '=', ',', ';', 'asm'
>> | or '__attribute__' before 'cairo_recursive_mutex_impl_t' In file
>> | included from cairo-scaled-font-private.h:45:0,
>> |
>> |                  from cairoint.h:380,
>> |
>> |                  from cairo-arc.c:37:
>> | cairo-mutex-type-private.h:49:3: error: #error "CAIRO_MUTEX_IMPL_LOCK
>> | not defined.  Check cairo-mutex-impl-private.h."
>> | cairo-mutex-type-private.h:52:3: error: #error "CAIRO_MUTEX_IMPL_UNLOCK
>> | not defined.  Check cairo-mutex-impl-private.h."
>> | cairo-mutex-type-private.h:55:3: error: #error
>> | "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined.  Check
>> | cairo-mutex-impl-private.h." cairo-mutex-type-private.h:139:3: error:
>> | #error "CAIRO_MUTEX_IMPL_LOCK not defined"
>> | cairo-mutex-type-private.h:142:3: error: #error
>> | "CAIRO_MUTEX_IMPL_UNLOCK not defined" cairo-mutex-type-private.h:151:3:
>> | error: #error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined"
>> | cairo-mutex-type-private.h:161:28: error: expected '=', ',', ';', 'asm'
>> | or '__attribute__' before 'cairo_mutex_t'
>> | cairo-mutex-type-private.h:162:38: error: expected '=', ',', ';', 'asm'
>> | or '__attribute__' before 'cairo_recursive_mutex_t' In file included
>> | from cairoint.h:380:0,
>> |
>> |                  from cairo-arc.c:37:
>> | cairo-scaled-font-private.h:108:5: error: expected
>> | specifier-qualifier-list before 'cairo_mutex_t' In file included from
>> | cairo-mutex-type-private.h:45:0,
>> |
>> |                  from cairo-scaled-font-private.h:45,
>> |                  from cairoint.h:380,
>> |
>> |                  from cairo-base64-stream.c:39:
>> | cairo-mutex-impl-private.h:262:3: error: #error "XXX: No mutex
>> | implementation found.  Cairo will not work with multiple
>> | threads.  Define CAIRO_NO_MUTEX to 1 to acknowledge and accept this
>> | limitation
>> and compile cairo without thread-safety support."
> 
> hmmm this error means you dont have libc headers installed properly.
> Seems something is broken in your environment. Its probably using some tools 
> from your build system which are not quite in line with what configure wanted
> Can you post the config.log of cairo somewhere ?

OK.  I tried it all again, this time with Yocto 5.0.1, and I get the same cairo
build error.  I found the config log for this in:
poky-5.0.1.build/tmp/work/armv5te-poky-linux-gnueabi/cairo-1.10.2-r0/temp
log.do_configure.

I pasted it at:
http://pastebin.com/z0QqgVaE

The only thing that looks suspicious to me is:

ERROR: ld.so: object 'libpseudo.so' from LD_PRELOAD cannot be preloaded: ignored.

I don't know anything about how libpseudo.so is used, so I don't know if this is
a big problem or not (but I fear host tool or lib contamination if Pseudo is not
being used correctly.

There's also this inability to link with pthread.
> checking for cairo's pthread feature...
> checking whether cairo's pthread feature could be enabled... no (can't link with -lpthread or -pthread)

That sounds like it might be related to a missing mutex compile problem. ??

And this line from the compile output seems to be the start of the problem:
| cairo-mutex-impl-private.h:262:3: error: #error "XXX: No mutex implementation found.  Cairo will not work with multiple threads.  Define CAIRO_NO_MUTEX to 1 to acknowledge and accept this limitation
and compile cairo without thread-safety support."

How would I define CAIRO_NO_MUTEX, and rebuild, to check this out?


Once again, I'm running this on Fedora 12, 64-bit system.  (But I would have expected any lib dependencies and configure
to have been sandboxed from the host libs and environment).

Thanks for any help.
 -- Tim


=============================
Tim Bird
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
=============================




More information about the yocto mailing list