On 01/12/2016 16:34, Daniel Quinn wrote:
> I just won’t build for me and my research on the forums and BGO keeps
> turning up very old bugs that don’t really feel like they apply to my
> case exactly.
> 
> What’s happened so far:
> 
>   * I installed a complete GNOME/systemd system with no trouble (~amd64)
>   * This installation included a perfect emerge of x11-libs/cairo
>   * About a month later, I’ve been doing “emerge -auDN @world” every
>     other day or so, and suddenly cairo needs to rebuild, and now it
>     fails with a long slew of errors:
> 
> |In file included from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:45:0,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-scaled-font-private.h:45,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairoint.h:422,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-atomic.c:34:
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/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."
> # 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
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:45:0,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-scaled-font-private.h:45,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairoint.h:422,
> from
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-atomic.c:34:
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-impl-private.h:271:11:
> error: unknown type name ‘cairo_mutex_impl_t’ typedef cairo_mutex_impl_t
> cairo_recursive_mutex_impl_t; ^ <lots of similar-looking errors>
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-mutex-type-private.h:161:9:
> error: unknown type name ‘cairo_mutex_impl_t’ typedef cairo_mutex_impl_t
> cairo_mutex_t; ^
> /var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6/src/cairo-botor-scan-converter.c:2076:1:
> warning: ‘botor_add_edge’ defined but not used [-Wunused-function]
> botor_add_edge (cairo_botor_scan_converter_t *self, ^ make[3]: ***
> [Makefile:2352: cairo-botor-scan-converter.lo] Error 1 make[3]: Leaving
> directory
> '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64/src'
> make[2]: *** [Makefile:1950: all] Error 2 make[2]: Leaving directory
> '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64/src'
> make[1]: *** [Makefile:906: all-recursive] Error 1 make[1]: Leaving
> directory
> '/var/tmp/portage/x11-libs/cairo-1.14.6/work/cairo-1.14.6-abi_x86_64.amd64'
> make: *** [Makefile:757: all] Error 2 |
> 
> The digging I do online mentions something about custom LDFLAGS, but
> since I don’t even know what those are, I’m thinking that’s not it. I’m
> not running any special overlays, but I am running a complete ~amd64
> installation. I’ve try running |revdep-rebuild| (nothing to do) and
> |emerge @preserved-rebuild| just loops in cairo and explodes again.
> 
> Anyone have some tips to get me through this?

Yeah, the tip is you and we get to do some original research :-)

It's quite unlikely that the maintainer committed a broken ebuild that
simply cannot work, so we have to assume you are running into something
fairly uncommon and somewhat unique to your environment. My first choice
is your USE flags - you probably selected a combination that doesn't
work that the maintainer isn't aware of and so there's no detection for
it in the ebuild.

cairo-1.14.6 does in fact build on ~amd64,and your problem is related to
a lack of mutex support. Here's my USE for cairo, compres it to yours:

[I] x11-libs/cairo
     Available versions:  1.14.2^t (~)1.14.2-r1^t (~)1.14.4^t 1.14.6^t
**9999^t {X aqua debug directfb gles2 +glib opengl static-libs +svg
valgrind xcb xlib-xcb ABI_MIPS="n32 n64 o32" ABI_PPC="32 64"
ABI_S390="32 64" ABI_X86="32 64 x32"}
     Installed versions:  1.14.6^t(19:08:54 15/11/2016)(X glib opengl
svg xcb -aqua -debug -directfb -gles2 -static-libs -valgrind -xlib-xcb
ABI_MIPS="-n32 -n64 -o32" ABI_PPC="-32 -64" ABI_S390="-32 -64"
ABI_X86="32 64 -x32")
     Homepage:            http://cairographics.org/
     Description:         A vector graphics library with cross-device
output support

Also what is your global setting in USE for "threads"?


-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to