Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Mar 2015 18:22:04 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-arm@FreeBSD.org
Subject:   [Bug 199042] graphics/cairo does not build on FreeBSD arm r280772 (can't link with -lpthread)
Message-ID:  <bug-199042-7@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199042

            Bug ID: 199042
           Summary: graphics/cairo does not build on FreeBSD arm r280772
                    (can't link with -lpthread)
           Product: Ports & Packages
           Version: Latest
          Hardware: arm
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: gnome@FreeBSD.org
          Reporter: usenet@ulrich-grey.de
                CC: freebsd-arm@FreeBSD.org
                CC: freebsd-arm@FreeBSD.org
          Assignee: gnome@FreeBSD.org
             Flags: maintainer-feedback?(gnome@FreeBSD.org)

Ports Revision 382670
##
And the following internal features:
  pthread:       no (can't link with -lpthread or -pthread)
  gtk-doc:       no
  gcov support:  no
  symbol-lookup: no (requires bfd)
  test surfaces: no (disabled, use --enable-test-surfaces to enable)
  ps testing:    no (requires libspectre)
  pdf testing:   no (requires poppler-glib >= 0.17.4)
  svg testing:   no (requires librsvg-2.0 >= 2.35.0)
...
===>  Building for cairo-1.12.18_1,2
...
--- cairo-arc.lo ---
In file included from cairo-arc.c:37:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
In file included from ./cairo-mutex-type-private.h:45:
./cairo-mutex-impl-private.h:262:3: 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."
--- cairo-array.lo ---
In file included from cairo-array.c:39:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
In file included from ./cairo-mutex-type-private.h:45:
./cairo-mutex-impl-private.h:262:3: 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."
--- cairo-atomic.lo ---
In file included from cairo-atomic.c:34:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
In file included from ./cairo-mutex-type-private.h:45:
./cairo-mutex-impl-private.h:262:3: 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."
--- cairo-analysis-surface.lo ---
In file included from cairo-analysis-surface.c:37:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
In file included from ./cairo-mutex-type-private.h:45:
./cairo-mutex-impl-private.h:262:3: 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."
  ^
./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;
          ^
In file included from cairo-analysis-surface.c:37:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
./cairo-mutex-type-private.h:49:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined. 
Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_LOCK not defined.  Check cairo-mutex-impl-private.h."
  ^
--- cairo-arc.lo ---
# 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."
  ^
./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;
          ^
In file included from cairo-arc.c:37:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
./cairo-mutex-type-private.h:49:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined. 
Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_LOCK not defined.  Check cairo-mutex-impl-private.h."
  ^
./cairo-mutex-type-private.h:52:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not defined.
 Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined.  Check
cairo-mutex-impl-private.h."
  ^
--- cairo-array.lo ---
# 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."
  ^
./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;
          ^
In file included from cairo-array.c:39:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
./cairo-mutex-type-private.h:49:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined. 
Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_LOCK not defined.  Check cairo-mutex-impl-private.h."
  ^
--- cairo-atomic.lo ---
# 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."
  ^
./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;
          ^
In file included from cairo-atomic.c:34:
In file included from ./cairoint.h:396:
In file included from ./cairo-scaled-font-private.h:45:
./cairo-mutex-type-private.h:49:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined. 
Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_LOCK not defined.  Check cairo-mutex-impl-private.h."
  ^
./cairo-mutex-type-private.h:52:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not defined.
 Check cairo-mutex-impl-private.h."
--- cairo-analysis-surface.lo ---
./cairo-mutex-type-private.h:52:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not defined.
 Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined.  Check
cairo-mutex-impl-private.h."
  ^
./cairo-mutex-type-private.h:55:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not
defined.  Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined.  Check
cairo-mutex-impl-private.h."
  ^
./cairo-mutex-type-private.h:139:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined"
# error "CAIRO_MUTEX_IMPL_LOCK not defined"
  ^
./cairo-mutex-type-private.h:142:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not
defined"
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined"
  ^
./cairo-mutex-type-private.h:151:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER
not defined"
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined"
  ^
--- cairo-arc.lo ---
./cairo-mutex-type-private.h:55:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not
defined.  Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined.  Check
cairo-mutex-impl-private.h."
  ^
./cairo-mutex-type-private.h:139:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined"
# error "CAIRO_MUTEX_IMPL_LOCK not defined"
  ^
./cairo-mutex-type-private.h:142:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not
defined"
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined"
  ^
./cairo-mutex-type-private.h:151:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER
not defined"
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined"
  ^
--- cairo-atomic.lo ---
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined.  Check
cairo-mutex-impl-private.h."
  ^
--- cairo-array.lo ---
./cairo-mutex-type-private.h:52:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not defined.
 Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined.  Check
cairo-mutex-impl-private.h."
  ^
--- cairo-atomic.lo ---
./cairo-mutex-type-private.h:55:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not
defined.  Check cairo-mutex-impl-private.h."
--- cairo-array.lo ---
./cairo-mutex-type-private.h:55:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not
defined.  Check cairo-mutex-impl-private.h."
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined.  Check
cairo-mutex-impl-private.h."
--- cairo-atomic.lo ---
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined.  Check
cairo-mutex-impl-private.h."
  ^
--- cairo-array.lo ---
  ^
--- cairo-atomic.lo ---
./cairo-mutex-type-private.h:139:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined"
--- cairo-array.lo ---
./cairo-mutex-type-private.h:139:3: error: "CAIRO_MUTEX_IMPL_LOCK not defined"
--- cairo-atomic.lo ---
# error "CAIRO_MUTEX_IMPL_LOCK not defined"
--- cairo-array.lo ---
# error "CAIRO_MUTEX_IMPL_LOCK not defined"
  ^
./cairo-mutex-type-private.h:142:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not
defined"
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined"
  ^
./cairo-mutex-type-private.h:151:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER
not defined"
--- cairo-atomic.lo ---
  ^
--- cairo-array.lo ---
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined"
  ^
--- cairo-atomic.lo ---
./cairo-mutex-type-private.h:142:3: error: "CAIRO_MUTEX_IMPL_UNLOCK not
defined"
# error "CAIRO_MUTEX_IMPL_UNLOCK not defined"
  ^
./cairo-mutex-type-private.h:151:3: error: "CAIRO_MUTEX_IMPL_NIL_INITIALIZER
not defined"
# error "CAIRO_MUTEX_IMPL_NIL_INITIALIZER not defined"
  ^
--- cairo-arc.lo ---
./cairo-mutex-type-private.h:161:9: error: unknown type name
'cairo_mutex_impl_t'
typedef cairo_mutex_impl_t cairo_mutex_t;
        ^
--- cairo-analysis-surface.lo ---
./cairo-mutex-type-private.h:161:9: error: unknown type name
'cairo_mutex_impl_t'
typedef cairo_mutex_impl_t cairo_mutex_t;
        ^
--- cairo-array.lo ---
./cairo-mutex-type-private.h:161:9: error: unknown type name
'cairo_mutex_impl_t'
typedef cairo_mutex_impl_t cairo_mutex_t;
--- cairo-atomic.lo ---
./cairo-mutex-type-private.h:161:9: error: unknown type name
'cairo_mutex_impl_t'
typedef cairo_mutex_impl_t cairo_mutex_t;
        ^
--- cairo-array.lo ---
        ^
--- cairo-atomic.lo ---
9 errors generated.
--- cairo-arc.lo ---
9 errors generated.
--- cairo-atomic.lo ---
*** [cairo-atomic.lo] Error code 1

make[5]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
--- cairo-arc.lo ---
*** [cairo-arc.lo] Error code 1

make[5]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
--- cairo-array.lo ---
9 errors generated.
*** [cairo-array.lo] Error code 1

make[5]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
--- cairo-analysis-surface.lo ---
In file included from cairo-analysis-surface.c:45:
./cairo-surface-snapshot-inline.h:54:5: warning: implicit declaration of
function 'CAIRO_MUTEX_IMPL_LOCK' is invalid in C99
[-Wimplicit-function-declaration]
    CAIRO_MUTEX_LOCK (snapshot->mutex);
    ^
./cairo-mutex-type-private.h:169:27: note: expanded from macro
'CAIRO_MUTEX_LOCK'
#define CAIRO_MUTEX_LOCK                CAIRO_MUTEX_IMPL_LOCK
                                        ^
In file included from cairo-analysis-surface.c:45:
./cairo-surface-snapshot-inline.h:56:5: warning: implicit declaration of
function 'CAIRO_MUTEX_IMPL_UNLOCK' is invalid in C99
[-Wimplicit-function-declaration]
    CAIRO_MUTEX_UNLOCK (snapshot->mutex);
    ^
./cairo-mutex-type-private.h:170:29: note: expanded from macro
'CAIRO_MUTEX_UNLOCK'
#define CAIRO_MUTEX_UNLOCK              CAIRO_MUTEX_IMPL_UNLOCK
                                        ^
cairo-analysis-surface.c:111:5: warning: implicit conversion from enumeration
type 'enum _cairo_internal_surface_type' to different enumeration type
'cairo_surface_type_t' (aka 'enum _cairo_surface_type') [-Wenum-conversion]
    CAIRO_INTERNAL_SURFACE_TYPE_NULL,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:158:9: warning: implicit conversion from enumeration
type 'enum _cairo_status' to different enumeration type 'cairo_int_status_t'
(aka 'enum _cairo_int_status') [-Wenum-conversion]
        return CAIRO_STATUS_SUCCESS;
        ~~~~~~ ^~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:164:19: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        return tmp->base.status;
        ~~~~~~ ~~~~~~~~~~^~~~~~
cairo-analysis-surface.c:177:46: warning: implicit conversion from enumeration
type 'enum _cairo_int_status' to different enumeration type 'cairo_status_t'
(aka 'enum _cairo_status') [-Wenum-conversion]
    analysis_status = tmp->has_unsupported ? CAIRO_INT_STATUS_IMAGE_FALLBACK :
CAIRO_INT_STATUS_SUCCESS;
                    ~                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:177:80: warning: implicit conversion from enumeration
type 'enum _cairo_int_status' to different enumeration type 'cairo_status_t'
(aka 'enum _cairo_status') [-Wenum-conversion]
    analysis_status = tmp->has_unsupported ? CAIRO_INT_STATUS_IMAGE_FALLBACK :
CAIRO_INT_STATUS_SUCCESS;
                    ~                                                         
^~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:182:9: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        return status;
        ~~~~~~ ^~~~~~
cairo-analysis-surface.c:184:12: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
    return analysis_status;
    ~~~~~~ ^~~~~~~~~~~~~~~
cairo-analysis-surface.c:282:9: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        return cairo_region_union_rectangle (&surface->supported_region, rect);
        ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:290:14: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
    status = cairo_region_union_rectangle (&surface->fallback_region, rect);
           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:406:45: warning: implicit conversion from enumeration
type 'enum _cairo_status' to different enumeration type 'cairo_int_status_t'
(aka 'enum _cairo_int_status') [-Wenum-conversion]
        cairo_int_status_t backend_source_status = CAIRO_STATUS_SUCCESS;
                           ~~~~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:407:43: warning: implicit conversion from enumeration
type 'enum _cairo_status' to different enumeration type 'cairo_int_status_t'
(aka 'enum _cairo_int_status') [-Wenum-conversion]
        cairo_int_status_t backend_mask_status = CAIRO_STATUS_SUCCESS;
                           ~~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:490:11: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        status = _cairo_path_fixed_stroke_extents (path, style,
               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:599:11: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        status = _cairo_scaled_font_glyph_device_extents (scaled_font,
               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:675:11: warning: implicit conversion from enumeration
type 'cairo_status_t' (aka 'enum _cairo_status') to different enumeration type
'cairo_int_status_t' (aka 'enum _cairo_int_status') [-Wenum-conversion]
        status = _cairo_scaled_font_glyph_device_extents (scaled_font,
               ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:690:5: warning: implicit conversion from enumeration
type 'enum _cairo_internal_surface_type' to different enumeration type
'cairo_surface_type_t' (aka 'enum _cairo_surface_type') [-Wenum-conversion]
    CAIRO_INTERNAL_SURFACE_TYPE_ANALYSIS,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:835:12: warning: implicit conversion from enumeration
type 'enum _cairo_status' to different enumeration type 'cairo_int_status_t'
(aka 'enum _cairo_int_status') [-Wenum-conversion]
    return CAIRO_STATUS_SUCCESS;
    ~~~~~~ ^~~~~~~~~~~~~~~~~~~~
cairo-analysis-surface.c:884:5: warning: implicit conversion from enumeration
type 'enum _cairo_internal_surface_type' to different enumeration type
'cairo_surface_type_t' (aka 'enum _cairo_surface_type') [-Wenum-conversion]
    CAIRO_INTERNAL_SURFACE_TYPE_NULL,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19 warnings and 9 errors generated.
*** [cairo-analysis-surface.lo] Error code 1

make[5]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
4 errors

make[5]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
*** [all] Error code 2

make[4]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
1 error

make[4]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18/src
*** [all-recursive] Error code 1

make[3]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18
1 error

make[3]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18
*** [all] Error code 2

make[2]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18
1 error

make[2]: stopped in
/usr/local/DEVEL/NeuPorts/head/graphics/cairo/work/cairo-1.12.18
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

-- 
You are receiving this mail because:
You are on the CC list for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-199042-7>