public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alan McKinnon <alan.mckinnon@gmail.com>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Anyone else having trouble with x11-libs/cairo?
Date: Thu, 1 Dec 2016 20:33:43 +0200	[thread overview]
Message-ID: <829f3608-cd6d-a5ab-8af7-34f7dac75d96@gmail.com> (raw)
In-Reply-To: <1c40fd34-da20-2607-d42f-9241d7d2c51b@danielquinn.org>

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.mckinnon@gmail.com



  reply	other threads:[~2016-12-01 18:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-01 14:34 [gentoo-user] Anyone else having trouble with x11-libs/cairo? Daniel Quinn
2016-12-01 18:33 ` Alan McKinnon [this message]
2016-12-02  9:57   ` Daniel Quinn
2016-12-02 20:21     ` Mick
2016-12-06 17:15       ` Daniel Quinn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=829f3608-cd6d-a5ab-8af7-34f7dac75d96@gmail.com \
    --to=alan.mckinnon@gmail.com \
    --cc=gentoo-user@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox