Conflict between system and internal cairo

Michael Stahl mstahl at redhat.com
Thu Apr 25 05:04:24 PDT 2013


On 25/04/13 13:39, Lubos Lunak wrote:
> 
>  Hello,
> 
>  Clang tindebox currently fails because of a race and mixup of system and 
> internal cairo/pixman libraries. Specifically, Executable_pluginapp.bin.mk 
> links also against gtk, which links against cairo, which links against 
> pixman. And there is a race that results in solver containing pixman but not 
> cairo by the time Executable_pluginapp.bin.mk is being linked. The linker 
> command has -L for the solver lib directory, so it picks up system cairo and 
> internal pixman, and these are apparently incompatible.

ouch...

>  Changing StaticLibrary_plugcon.mk to "$(eval $(call 
> gb_StaticLibrary_use_externals,plugcon,gtk cairo))" helps with the problem, 
> but I assume this cannot be just hardcoded and I don't know how to do it 
> properly? Gbuild experts?

hmm... that would be an acceptable workaround (it should delay the
plugcon build until cairo is fully built), clearly it needs a comment to
explain it otherwise somebody will think cairo isn't used here and
remove it again :)

another alternative would be to not deliver the cairo libraries to the
solver and link against the libs in UnpackedTarball which won't be on
plugcon linker path... but that would only actually work for static
libraries, dynamic ones need to be copied somewhere obviously... so this
won't solve this particular problem.




More information about the LibreOffice mailing list