Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Anyone else having trouble with x11-libs/cairo?
Date: Thu, 01 Dec 2016 18:35:48
Message-Id: 829f3608-cd6d-a5ab-8af7-34f7dac75d96@gmail.com
In Reply to: [gentoo-user] Anyone else having trouble with x11-libs/cairo? by Daniel Quinn
1 On 01/12/2016 16:34, Daniel Quinn wrote:
2 > I just won’t build for me and my research on the forums and BGO keeps
3 > turning up very old bugs that don’t really feel like they apply to my
4 > case exactly.
5 >
6 > What’s happened so far:
7 >
8 > * I installed a complete GNOME/systemd system with no trouble (~amd64)
9 > * This installation included a perfect emerge of x11-libs/cairo
10 > * About a month later, I’ve been doing “emerge -auDN @world” every
11 > other day or so, and suddenly cairo needs to rebuild, and now it
12 > fails with a long slew of errors:
13 >
14 > |In file included from
15 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:45:0,
16 > from
17 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-scaled-font-private.h:45,
18 > from
19 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairoint.h:422,
20 > from
21 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-atomic.c:34:
22 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-impl-private.h:262:3:
23 > error: #error "XXX: No mutex implementation found. Cairo will not work
24 > with multiple threads. Define CAIRO_NO_MUTEX to 1 to acknowledge and
25 > accept this limitation and compile cairo without thread-safety support."
26 > # error "XXX: No mutex implementation found. Cairo will not work with
27 > multiple threads. Define CAIRO_NO_MUTEX to 1 to acknowledge and accept
28 > this limitation and compile cairo without thread-safety support." ^ In
29 > file included from
30 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:45:0,
31 > from
32 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-scaled-font-private.h:45,
33 > from
34 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairoint.h:422,
35 > from
36 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-atomic.c:34:
37 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-impl-private.h:271:11:
38 > error: unknown type name ‘cairo_mutex_impl_t’ typedef cairo_mutex_impl_t
39 > cairo_recursive_mutex_impl_t; ^ <lots of similar-looking errors>
40 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:161:9:
41 > error: unknown type name ‘cairo_mutex_impl_t’ typedef cairo_mutex_impl_t
42 > cairo_mutex_t; ^
43 > /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-botor-scan-converter.c:2076:1:
44 > warning: ‘botor_add_edge’ defined but not used [-Wunused-function]
45 > botor_add_edge (cairo_botor_scan_converter_t *self, ^ make[3]: ***
46 > [Makefile:2352: cairo-botor-scan-converter.lo] Error 1 make[3]: Leaving
47 > directory
48 > '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64/src'
49 > make[2]: *** [Makefile:1950: all] Error 2 make[2]: Leaving directory
50 > '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64/src'
51 > make[1]: *** [Makefile:906: all-recursive] Error 1 make[1]: Leaving
52 > directory
53 > '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64'
54 > make: *** [Makefile:757: all] Error 2 |
55 >
56 > The digging I do online mentions something about custom LDFLAGS, but
57 > since I don’t even know what those are, I’m thinking that’s not it. I’m
58 > not running any special overlays, but I am running a complete ~amd64
59 > installation. I’ve try running |revdep-rebuild| (nothing to do) and
60 > |emerge @preserved-rebuild| just loops in cairo and explodes again.
61 >
62 > Anyone have some tips to get me through this?
63
64 Yeah, the tip is you and we get to do some original research :-)
65
66 It's quite unlikely that the maintainer committed a broken ebuild that
67 simply cannot work, so we have to assume you are running into something
68 fairly uncommon and somewhat unique to your environment. My first choice
69 is your USE flags - you probably selected a combination that doesn't
70 work that the maintainer isn't aware of and so there's no detection for
71 it in the ebuild.
72
73 cairo-1.14.6 does in fact build on ~amd64,and your problem is related to
74 a lack of mutex support. Here's my USE for cairo, compres it to yours:
75
76 [I] x11-libs/cairo
77 Available versions: 1.14.2^t (~)1.14.2-r1^t (~)1.14.4^t 1.14.6^t
78 **9999^t {X aqua debug directfb gles2 +glib opengl static-libs +svg
79 valgrind xcb xlib-xcb ABI_MIPS="n32 n64 o32" ABI_PPC="32 64"
80 ABI_S390="32 64" ABI_X86="32 64 x32"}
81 Installed versions: 1.14.6^t(19:08:54 15/11/2016)(X glib opengl
82 svg xcb -aqua -debug -directfb -gles2 -static-libs -valgrind -xlib-xcb
83 ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64"
84 ABI_X86="32 64 -x32")
85 Homepage: http://cairographics.org/
86 Description: A vector graphics library with cross-device
87 output support
88
89 Also what is your global setting in USE for "threads"?
90
91
92 --
93 Alan McKinnon
94 alan.mckinnon@×××××.com

Replies

Subject Author
Re: [gentoo-user] Anyone else having trouble with x11-libs/cairo? Daniel Quinn <gentoo@×××××××××××.org>