Bug 48577

Summary: _cairo_clip_* symbols unreferenced during build of cairo-test-suite
Product: cairo Reporter: mark
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: major    
Priority: medium    
Version: 1.12.0   
Hardware: Other   
OS: Solaris   
Whiteboard:
i915 platform: i915 features:

Description mark 2012-04-11 17:58:14 UTC
On Solaris 10 & 11, SPARC and X86, cairo 1.12.0 fails to build cairo-test-suite due to missing symbols.

# cc -V
cc: Sun C 5.11 SunOS_i386 145355-01 2010/10/11
# cc -V
cc: Sun C 5.11 SunOS_sparc 145354-01 2010/10/11

Recipe:
    cd /var/tmp
    rm -rf cairo-1.12.0
    untgz /usr/local/src/graphics/cairo-1.12.0.tar.gz
    cd cairo-1.12.0
    /bin/perl -pe 'm%^#include% && ($. == 45) && s%^#include%#if \!CAIRO_HAS_XLIB_XCB_FUNCTIONS\n#include%' -i src/cairo-xlib-fallback-compositor.c
    echo "#endif" >> src/cairo-xlib-fallback-compositor.c
    ./configure --prefix=/cairo \
        --enable-xml \
        --enable-xlib-xcb \
        --disable-silent-rules
    gmake

Output:
gmake[5]: Leaving directory `/var/tmp/cairo-1.12.0/boilerplate'
source='any2ppm.c' object='any2ppm-any2ppm.o' libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../build/depcomp \
cc -D__i386__ -DHAVE_CONFIG_H -I. -I..  -I. -I./pdiff -I../boilerplate -I../util/cairo-missing -I../util/cairo-script -I../src -I../src -D_REENTRANT      -I/usr/local/include/pixman-1      -I/usr/local/include   -I/usr/local/include/freetype2 -I/usr/local/include    -I/usr/local/include/libpng14   -I/usr/local/include   -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/local/include   -I/usr/local/include   -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/local/include   -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -I/usr/local/include     -erroff=E_ENUM_TYPE_MISMATCH_ARG -erroff=E_ENUM_TYPE_MISMATCH_OP -Wp,-D_FORTIFY_SOURCE=2                        -I/usr/local/include     -L/usr/local/lib -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -c -o any2ppm-any2ppm.o `test -f 'any2ppm.c' || echo './'`any2ppm.c
/bin/sh ../libtool  --tag=CC   --mode=link cc -D__i386__     -L/usr/local/lib -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS   -L/usr/local/lib -o any2ppm any2ppm-any2ppm.o ../util/cairo-script/libcairo-script-interpreter.la ../src/libcairo.la  -lsocket    -lrt  -lm
libtool: link: cc -D__i386__ -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -o .libs/any2ppm any2ppm-any2ppm.o  -L/usr/local/lib ../util/cairo-script/.libs/libcairo-script-interpreter.so /var/tmp/cairo-1.12.0/src/.libs/libcairo.so -L/usr/local/lib/X11 ../src/.libs/libcairo.so /usr/local/lib/libpixman-1.so /usr/local/lib/libfontconfig.so /usr/local/lib/libexpat.so /usr/local/lib/libintl.so -lc /usr/local/lib/libiconv.so /usr/local/lib/libfreetype.so /usr/local/lib/libpng14.so /usr/local/lib/libxcb-shm.so /usr/local/lib/libX11-xcb.so /usr/local/lib/libxcb-render.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libxcb.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so -lnsl -lz -lsocket -lrt -lm -R/cairo/lib -R/usr/local/lib
ld: warning: file ../src/.libs/libcairo.so: linked to /var/tmp/cairo-1.12.0/src/.libs/libcairo.so: attempted multiple inclusion of file
/bin/sh ../libtool  --tag=CC   --mode=link cc -D__i386__  -D_REENTRANT  -L/usr/local/lib -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS  -L/usr/local/lib -o cairo-test-suite cairo_test_suite-buffer-diff.o cairo_test_suite-cairo-test.o cairo_test_suite-cairo-test-runner.o  cairo_test_suite-a1-bug.o cairo_test_suite-a1-clip.o cairo_test_suite-a1-fill.o cairo_test_suite-a1-image-sample.o cairo_test_suite-a1-mask.o cairo_test_suite-a1-mask-sample.o cairo_test_suite-a1-sample.o cairo_test_suite-a1-traps-sample.o cairo_test_suite-a1-rasterisation.o cairo_test_suite-a8-clear.o cairo_test_suite-a8-mask.o cairo_test_suite-aliasing.o cairo_test_suite-alpha-similar.o cairo_test_suite-arc-direction.o cairo_test_suite-arc-infinite-loop.o cairo_test_suite-arc-looping-dash.o cairo_test_suite-api-special-cases.o cairo_test_suite-big-line.o cairo_test_suite-big-empty-box.o cairo_test_suite-big-empty-triangle.o cairo_test_suite-big-little-box.o cairo_test_suite-big-little-triangle.o cairo_test_suite-big-trap.o cairo_test_suite-bilevel-image.o cairo_test_suite-bug-40410.o cairo_test_suite-bug-bo-rectangular.o cairo_test_suite-bug-bo-ricotz.o cairo_test_suite-bug-extents.o cairo_test_suite-bug-seams.o cairo_test_suite-caps.o cairo_test_suite-checkerboard.o cairo_test_suite-caps-joins.o cairo_test_suite-caps-joins-alpha.o cairo_test_suite-caps-joins-curve.o cairo_test_suite-caps-tails-curve.o cairo_test_suite-caps-sub-paths.o cairo_test_suite-clear.o cairo_test_suite-clear-source.o cairo_test_suite-clip-all.o cairo_test_suite-clip-contexts.o cairo_test_suite-clip-complex-shape.o cairo_test_suite-clip-disjoint.o cairo_test_suite-clip-disjoint-hatching.o cairo_test_suite-clip-device-offset.o cairo_test_suite-clip-double-free.o cairo_test_suite-clip-draw-unbounded.o cairo_test_suite-clip-empty.o cairo_test_suite-clip-empty-group.o cairo_test_suite-clip-empty-save.o cairo_test_suite-clip-fill.o cairo_test_suite-clip-fill-no-op.o cairo_test_suite-clip-fill-rule.o cairo_test_suite-clip-fill-rule-pixel-aligned.o cairo_test_suite-clip-group-shapes.o cairo_test_suite-clip-image.o cairo_test_suite-clip-intersect.o cairo_test_suite-clip-mixed-antialias.o cairo_test_suite-clip-nesting.o cairo_test_suite-clip-operator.o cairo_test_suite-clip-push-group.o cairo_test_suite-clip-polygons.o cairo_test_suite-clip-rectilinear.o cairo_test_suite-clip-shape.o cairo_test_suite-clip-stroke.o cairo_test_suite-clip-stroke-no-op.o cairo_test_suite-clip-text.o cairo_test_suite-clip-twice.o cairo_test_suite-clip-twice-rectangle.o cairo_test_suite-clip-unbounded.o cairo_test_suite-clip-zero.o cairo_test_suite-clipped-group.o cairo_test_suite-clipped-surface.o cairo_test_suite-close-path.o cairo_test_suite-close-path-current-point.o cairo_test_suite-composite-integer-translate-source.o cairo_test_suite-composite-integer-translate-over.o cairo_test_suite-composite-integer-translate-over-repeat.o cairo_test_suite-copy-disjoint.o cairo_test_suite-copy-path.o cairo_test_suite-coverage.o cairo_test_suite-create-for-stream.o cairo_test_suite-create-from-png.o cairo_test_suite-create-from-png-stream.o cairo_test_suite-culled-glyphs.o cairo_test_suite-curve-to-as-line-to.o cairo_test_suite-dash-caps-joins.o cairo_test_suite-dash-curve.o cairo_test_suite-dash-infinite-loop.o cairo_test_suite-dash-no-dash.o cairo_test_suite-dash-offset.o cairo_test_suite-dash-offset-negative.o cairo_test_suite-dash-scale.o cairo_test_suite-dash-state.o cairo_test_suite-dash-zero-length.o cairo_test_suite-degenerate-arc.o cairo_test_suite-degenerate-arcs.o cairo_test_suite-degenerate-curve-to.o cairo_test_suite-degenerate-dash.o cairo_test_suite-degenerate-linear-gradient.o cairo_test_suite-degenerate-path.o cairo_test_suite-degenerate-pen.o cairo_test_suite-degenerate-radial-gradient.o cairo_test_suite-degenerate-rel-curve-to.o cairo_test_suite-drunkard-tails.o cairo_test_suite-device-offset.o cairo_test_suite-device-offset-fractional.o cairo_test_suite-device-offset-positive.o cairo_test_suite-device-offset-scale.o cairo_test_suite-error-setters.o cairo_test_suite-extend-pad.o cairo_test_suite-extend-pad-border.o cairo_test_suite-extend-pad-similar.o cairo_test_suite-extend-reflect.o cairo_test_suite-extend-reflect-similar.o cairo_test_suite-extend-repeat.o cairo_test_suite-extend-repeat-similar.o cairo_test_suite-extended-blend.o cairo_test_suite-fallback.o cairo_test_suite-fill-alpha.o cairo_test_suite-fill-alpha-pattern.o cairo_test_suite-fill-and-stroke.o cairo_test_suite-fill-and-stroke-alpha.o cairo_test_suite-fill-and-stroke-alpha-add.o cairo_test_suite-fill-degenerate-sort-order.o cairo_test_suite-fill-disjoint.o cairo_test_suite-fill-empty.o cairo_test_suite-fill-image.o cairo_test_suite-fill-missed-stop.o cairo_test_suite-fill-rule.o cairo_test_suite-filter-bilinear-extents.o cairo_test_suite-filter-nearest-offset.o cairo_test_suite-filter-nearest-transformed.o cairo_test_suite-finer-grained-fallbacks.o cairo_test_suite-font-face-get-type.o cairo_test_suite-font-matrix-translation.o cairo_test_suite-font-options.o cairo_test_suite-glyph-cache-pressure.o cairo_test_suite-get-and-set.o cairo_test_suite-get-clip.o cairo_test_suite-get-group-target.o cairo_test_suite-get-path-extents.o cairo_test_suite-gradient-alpha.o cairo_test_suite-gradient-constant-alpha.o cairo_test_suite-gradient-zero-stops.o cairo_test_suite-gradient-zero-stops-mask.o cairo_test_suite-group-clip.o cairo_test_suite-group-paint.o cairo_test_suite-group-state.o cairo_test_suite-group-unaligned.o cairo_test_suite-half-coverage.o cairo_test_suite-halo.o cairo_test_suite-hatchings.o cairo_test_suite-horizontal-clip.o cairo_test_suite-huge-linear.o cairo_test_suite-huge-radial.o cairo_test_suite-image-surface-source.o cairo_test_suite-image-bug-710072.o cairo_test_suite-implicit-close.o cairo_test_suite-infinite-join.o cairo_test_suite-in-fill-empty-trapezoid.o cairo_test_suite-in-fill-trapezoid.o cairo_test_suite-invalid-matrix.o cairo_test_suite-inverse-text.o cairo_test_suite-joins.o cairo_test_suite-joins-loop.o cairo_test_suite-joins-star.o cairo_test_suite-joins-retrace.o cairo_test_suite-large-clip.o cairo_test_suite-large-font.o cairo_test_suite-large-source.o cairo_test_suite-large-source-roi.o cairo_test_suite-large-twin-antialias-mixed.o cairo_test_suite-leaky-dash.o cairo_test_suite-leaky-dashed-rectangle.o cairo_test_suite-leaky-dashed-stroke.o cairo_test_suite-leaky-polygon.o cairo_test_suite-line-width.o cairo_test_suite-line-width-large-overlap.o cairo_test_suite-line-width-overlap.o cairo_test_suite-line-width-scale.o cairo_test_suite-line-width-tolerance.o cairo_test_suite-line-width-zero.o cairo_test_suite-linear-gradient.o cairo_test_suite-linear-gradient-extend.o cairo_test_suite-linear-gradient-large.o cairo_test_suite-linear-gradient-one-stop.o cairo_test_suite-linear-gradient-reflect.o cairo_test_suite-linear-gradient-subset.o cairo_test_suite-linear-step-function.o cairo_test_suite-linear-uniform.o cairo_test_suite-long-dashed-lines.o cairo_test_suite-long-lines.o cairo_test_suite-map-to-image.o cairo_test_suite-mask.o cairo_test_suite-mask-alpha.o cairo_test_suite-mask-ctm.o cairo_test_suite-mask-glyphs.o cairo_test_suite-mask-surface-ctm.o cairo_test_suite-mask-transformed-image.o cairo_test_suite-mask-transformed-similar.o cairo_test_suite-mesh-pattern.o cairo_test_suite-mesh-pattern-accuracy.o cairo_test_suite-mesh-pattern-conical.o cairo_test_suite-mesh-pattern-control-points.o cairo_test_suite-mesh-pattern-fold.o cairo_test_suite-mesh-pattern-overlap.o cairo_test_suite-mesh-pattern-transformed.o cairo_test_suite-mime-data.o cairo_test_suite-mime-surface-api.o cairo_test_suite-miter-precision.o cairo_test_suite-move-to-show-surface.o cairo_test_suite-negative-stride-image.o cairo_test_suite-new-sub-path.o cairo_test_suite-nil-surface.o cairo_test_suite-operator.o cairo_test_suite-operator-alpha.o cairo_test_suite-operator-alpha-alpha.o cairo_test_suite-operator-clear.o cairo_test_suite-operator-source.o cairo_test_suite-over-above-source.o cairo_test_suite-over-around-source.o cairo_test_suite-over-below-source.o cairo_test_suite-over-between-source.o cairo_test_suite-overlapping-boxes.o cairo_test_suite-overlapping-glyphs.o cairo_test_suite-overlapping-dash-caps.o cairo_test_suite-paint.o cairo_test_suite-paint-clip-fill.o cairo_test_suite-paint-repeat.o cairo_test_suite-paint-source-alpha.o cairo_test_suite-paint-with-alpha.o cairo_test_suite-partial-clip-text.o cairo_test_suite-partial-coverage.o cairo_test_suite-pass-through.o cairo_test_suite-path-append.o cairo_test_suite-path-stroke-twice.o cairo_test_suite-path-precision.o cairo_test_suite-pattern-get-type.o cairo_test_suite-pattern-getters.o cairo_test_suite-pdf-isolated-group.o cairo_test_suite-pixman-rotate.o cairo_test_suite-png.o cairo_test_suite-push-group.o cairo_test_suite-push-group-color.o cairo_test_suite-push-group-path-offset.o cairo_test_suite-radial-gradient.o cairo_test_suite-radial-gradient-extend.o cairo_test_suite-radial-outer-focus.o cairo_test_suite-random-clips.o cairo_test_suite-random-intersections-eo.o cairo_test_suite-random-intersections-nonzero.o cairo_test_suite-random-intersections-curves-eo.o cairo_test_suite-random-intersections-curves-nz.o cairo_test_suite-raster-source.o cairo_test_suite-record.o cairo_test_suite-record1414x.o cairo_test_suite-record2x.o cairo_test_suite-record90.o cairo_test_suite-record-extend.o cairo_test_suite-record-mesh.o cairo_test_suite-recording-surface-pattern.o cairo_test_suite-recording-surface-extend.o cairo_test_suite-rectangle-rounding-error.o cairo_test_suite-rectilinear-fill.o cairo_test_suite-rectilinear-grid.o cairo_test_suite-rectilinear-miter-limit.o cairo_test_suite-rectilinear-dash.o cairo_test_suite-rectilinear-stroke.o cairo_test_suite-reflected-stroke.o cairo_test_suite-rel-path.o cairo_test_suite-rgb24-ignore-alpha.o cairo_test_suite-rotate-image-surface-paint.o cairo_test_suite-rotated-clip.o cairo_test_suite-rounded-rectangle-fill.o cairo_test_suite-rounded-rectangle-stroke.o cairo_test_suite-scale-down-source-surface-paint.o cairo_test_suite-scale-offset-image.o cairo_test_suite-scale-offset-similar.o cairo_test_suite-scale-source-surface-paint.o cairo_test_suite-scaled-font-zero-matrix.o cairo_test_suite-stroke-ctm-caps.o cairo_test_suite-stroke-image.o cairo_test_suite-stroke-open-box.o cairo_test_suite-select-font-face.o cairo_test_suite-select-font-no-show-text.o cairo_test_suite-self-copy.o cairo_test_suite-self-copy-overlap.o cairo_test_suite-self-intersecting.o cairo_test_suite-set-source.o cairo_test_suite-show-glyphs-advance.o cairo_test_suite-show-glyphs-many.o cairo_test_suite-show-text-current-point.o cairo_test_suite-shape-general-convex.o cairo_test_suite-shape-sierpinski.o cairo_test_suite-skew-extreme.o cairo_test_suite-smask.o cairo_test_suite-smask-fill.o cairo_test_suite-smask-image-mask.o cairo_test_suite-smask-mask.o cairo_test_suite-smask-paint.o cairo_test_suite-smask-stroke.o cairo_test_suite-smask-text.o cairo_test_suite-solid-pattern-cache-stress.o cairo_test_suite-source-clip.o cairo_test_suite-source-clip-scale.o cairo_test_suite-source-surface-scale-paint.o cairo_test_suite-spline-decomposition.o cairo_test_suite-stride-12-image.o cairo_test_suite-stroke-pattern.o cairo_test_suite-subsurface.o cairo_test_suite-subsurface-image-repeat.o cairo_test_suite-subsurface-repeat.o cairo_test_suite-subsurface-reflect.o cairo_test_suite-subsurface-pad.o cairo_test_suite-subsurface-modify-child.o cairo_test_suite-subsurface-modify-parent.o cairo_test_suite-subsurface-outside-target.o cairo_test_suite-subsurface-scale.o cairo_test_suite-subsurface-similar-repeat.o cairo_test_suite-surface-finish-twice.o cairo_test_suite-surface-pattern.o cairo_test_suite-surface-pattern-big-scale-down.o cairo_test_suite-surface-pattern-operator.o cairo_test_suite-surface-pattern-scale-down.o cairo_test_suite-surface-pattern-scale-down-extend.o cairo_test_suite-surface-pattern-scale-up.o cairo_test_suite-text-antialias.o cairo_test_suite-text-antialias-subpixel.o cairo_test_suite-text-cache-crash.o cairo_test_suite-text-glyph-range.o cairo_test_suite-text-pattern.o cairo_test_suite-text-rotate.o cairo_test_suite-text-transform.o cairo_test_suite-text-zero-len.o cairo_test_suite-tighten-bounds.o cairo_test_suite-tiger.o cairo_test_suite-toy-font-face.o cairo_test_suite-transforms.o cairo_test_suite-translate-show-surface.o cairo_test_suite-trap-clip.o cairo_test_suite-twin.o cairo_test_suite-twin-antialias-gray.o cairo_test_suite-twin-antialias-mixed.o cairo_test_suite-twin-antialias-none.o cairo_test_suite-twin-antialias-subpixel.o cairo_test_suite-unaligned-box.o cairo_test_suite-unantialiased-shapes.o cairo_test_suite-unbounded-operator.o cairo_test_suite-unclosed-strokes.o cairo_test_suite-user-data.o cairo_test_suite-user-font.o cairo_test_suite-user-font-mask.o cairo_test_suite-user-font-proxy.o cairo_test_suite-user-font-rescale.o cairo_test_suite-world-map.o cairo_test_suite-white-in-noop.o cairo_test_suite-xcb-huge-image-shm.o cairo_test_suite-xcb-stress-cache.o cairo_test_suite-xcb-snapshot-assert.o cairo_test_suite-xcomposite-projection.o cairo_test_suite-xlib-expose-event.o cairo_test_suite-zero-alpha.o cairo_test_suite-zero-mask.o cairo_test_suite-pthread-same-source.o cairo_test_suite-pthread-show-text.o cairo_test_suite-pthread-similar.o cairo_test_suite-bitmap-font.o cairo_test_suite-ft-font-create-for-ft-face.o cairo_test_suite-ft-show-glyphs-positioning.o cairo_test_suite-ft-show-glyphs-table.o cairo_test_suite-ft-text-vertical-layout-type1.o cairo_test_suite-ft-text-vertical-layout-type3.o cairo_test_suite-ft-text-antialias-none.o   cairo_test_suite-pdf-features.o cairo_test_suite-pdf-mime-data.o cairo_test_suite-pdf-surface-source.o cairo_test_suite-ps-eps.o cairo_test_suite-ps-features.o cairo_test_suite-ps-surface-source.o cairo_test_suite-svg-surface.o cairo_test_suite-svg-clip.o cairo_test_suite-svg-surface-source.o  cairo_test_suite-xcb-surface-source.o cairo_test_suite-xlib-surface.o cairo_test_suite-xlib-surface-source.o cairo_test_suite-get-xrender-format.o cairo_test_suite-multi-page.o cairo_test_suite-fallback-resolution.o cairo_test_suite-cairo-test-constructors.o -lpthread ../test/pdiff/libpdiff.la ../boilerplate/libcairoboilerplate.la ../src/libcairo.la  -lrt  -lm
libtool: link: cc -D__i386__ -D_REENTRANT -I/usr/local/include -D_POSIX_PTHREAD_SEMANTICS -o .libs/cairo-test-suite cairo_test_suite-buffer-diff.o cairo_test_suite-cairo-test.o cairo_test_suite-cairo-test-runner.o cairo_test_suite-a1-bug.o cairo_test_suite-a1-clip.o cairo_test_suite-a1-fill.o cairo_test_suite-a1-image-sample.o cairo_test_suite-a1-mask.o cairo_test_suite-a1-mask-sample.o cairo_test_suite-a1-sample.o cairo_test_suite-a1-traps-sample.o cairo_test_suite-a1-rasterisation.o cairo_test_suite-a8-clear.o cairo_test_suite-a8-mask.o cairo_test_suite-aliasing.o cairo_test_suite-alpha-similar.o cairo_test_suite-arc-direction.o cairo_test_suite-arc-infinite-loop.o cairo_test_suite-arc-looping-dash.o cairo_test_suite-api-special-cases.o cairo_test_suite-big-line.o cairo_test_suite-big-empty-box.o cairo_test_suite-big-empty-triangle.o cairo_test_suite-big-little-box.o cairo_test_suite-big-little-triangle.o cairo_test_suite-big-trap.o cairo_test_suite-bilevel-image.o cairo_test_suite-bug-40410.o cairo_test_suite-bug-bo-rectangular.o cairo_test_suite-bug-bo-ricotz.o cairo_test_suite-bug-extents.o cairo_test_suite-bug-seams.o cairo_test_suite-caps.o cairo_test_suite-checkerboard.o cairo_test_suite-caps-joins.o cairo_test_suite-caps-joins-alpha.o cairo_test_suite-caps-joins-curve.o cairo_test_suite-caps-tails-curve.o cairo_test_suite-caps-sub-paths.o cairo_test_suite-clear.o cairo_test_suite-clear-source.o cairo_test_suite-clip-all.o cairo_test_suite-clip-contexts.o cairo_test_suite-clip-complex-shape.o cairo_test_suite-clip-disjoint.o cairo_test_suite-clip-disjoint-hatching.o cairo_test_suite-clip-device-offset.o cairo_test_suite-clip-double-free.o cairo_test_suite-clip-draw-unbounded.o cairo_test_suite-clip-empty.o cairo_test_suite-clip-empty-group.o cairo_test_suite-clip-empty-save.o cairo_test_suite-clip-fill.o cairo_test_suite-clip-fill-no-op.o cairo_test_suite-clip-fill-rule.o cairo_test_suite-clip-fill-rule-pixel-aligned.o cairo_test_suite-clip-group-shapes.o cairo_test_suite-clip-image.o cairo_test_suite-clip-intersect.o cairo_test_suite-clip-mixed-antialias.o cairo_test_suite-clip-nesting.o cairo_test_suite-clip-operator.o cairo_test_suite-clip-push-group.o cairo_test_suite-clip-polygons.o cairo_test_suite-clip-rectilinear.o cairo_test_suite-clip-shape.o cairo_test_suite-clip-stroke.o cairo_test_suite-clip-stroke-no-op.o cairo_test_suite-clip-text.o cairo_test_suite-clip-twice.o cairo_test_suite-clip-twice-rectangle.o cairo_test_suite-clip-unbounded.o cairo_test_suite-clip-zero.o cairo_test_suite-clipped-group.o cairo_test_suite-clipped-surface.o cairo_test_suite-close-path.o cairo_test_suite-close-path-current-point.o cairo_test_suite-composite-integer-translate-source.o cairo_test_suite-composite-integer-translate-over.o cairo_test_suite-composite-integer-translate-over-repeat.o cairo_test_suite-copy-disjoint.o cairo_test_suite-copy-path.o cairo_test_suite-coverage.o cairo_test_suite-create-for-stream.o cairo_test_suite-create-from-png.o cairo_test_suite-create-from-png-stream.o cairo_test_suite-culled-glyphs.o cairo_test_suite-curve-to-as-line-to.o cairo_test_suite-dash-caps-joins.o cairo_test_suite-dash-curve.o cairo_test_suite-dash-infinite-loop.o cairo_test_suite-dash-no-dash.o cairo_test_suite-dash-offset.o cairo_test_suite-dash-offset-negative.o cairo_test_suite-dash-scale.o cairo_test_suite-dash-state.o cairo_test_suite-dash-zero-length.o cairo_test_suite-degenerate-arc.o cairo_test_suite-degenerate-arcs.o cairo_test_suite-degenerate-curve-to.o cairo_test_suite-degenerate-dash.o cairo_test_suite-degenerate-linear-gradient.o cairo_test_suite-degenerate-path.o cairo_test_suite-degenerate-pen.o cairo_test_suite-degenerate-radial-gradient.o cairo_test_suite-degenerate-rel-curve-to.o cairo_test_suite-drunkard-tails.o cairo_test_suite-device-offset.o cairo_test_suite-device-offset-fractional.o cairo_test_suite-device-offset-positive.o cairo_test_suite-device-offset-scale.o cairo_test_suite-error-setters.o cairo_test_suite-extend-pad.o cairo_test_suite-extend-pad-border.o cairo_test_suite-extend-pad-similar.o cairo_test_suite-extend-reflect.o cairo_test_suite-extend-reflect-similar.o cairo_test_suite-extend-repeat.o cairo_test_suite-extend-repeat-similar.o cairo_test_suite-extended-blend.o cairo_test_suite-fallback.o cairo_test_suite-fill-alpha.o cairo_test_suite-fill-alpha-pattern.o cairo_test_suite-fill-and-stroke.o cairo_test_suite-fill-and-stroke-alpha.o cairo_test_suite-fill-and-stroke-alpha-add.o cairo_test_suite-fill-degenerate-sort-order.o cairo_test_suite-fill-disjoint.o cairo_test_suite-fill-empty.o cairo_test_suite-fill-image.o cairo_test_suite-fill-missed-stop.o cairo_test_suite-fill-rule.o cairo_test_suite-filter-bilinear-extents.o cairo_test_suite-filter-nearest-offset.o cairo_test_suite-filter-nearest-transformed.o cairo_test_suite-finer-grained-fallbacks.o cairo_test_suite-font-face-get-type.o cairo_test_suite-font-matrix-translation.o cairo_test_suite-font-options.o cairo_test_suite-glyph-cache-pressure.o cairo_test_suite-get-and-set.o cairo_test_suite-get-clip.o cairo_test_suite-get-group-target.o cairo_test_suite-get-path-extents.o cairo_test_suite-gradient-alpha.o cairo_test_suite-gradient-constant-alpha.o cairo_test_suite-gradient-zero-stops.o cairo_test_suite-gradient-zero-stops-mask.o cairo_test_suite-group-clip.o cairo_test_suite-group-paint.o cairo_test_suite-group-state.o cairo_test_suite-group-unaligned.o cairo_test_suite-half-coverage.o cairo_test_suite-halo.o cairo_test_suite-hatchings.o cairo_test_suite-horizontal-clip.o cairo_test_suite-huge-linear.o cairo_test_suite-huge-radial.o cairo_test_suite-image-surface-source.o cairo_test_suite-image-bug-710072.o cairo_test_suite-implicit-close.o cairo_test_suite-infinite-join.o cairo_test_suite-in-fill-empty-trapezoid.o cairo_test_suite-in-fill-trapezoid.o cairo_test_suite-invalid-matrix.o cairo_test_suite-inverse-text.o cairo_test_suite-joins.o cairo_test_suite-joins-loop.o cairo_test_suite-joins-star.o cairo_test_suite-joins-retrace.o cairo_test_suite-large-clip.o cairo_test_suite-large-font.o cairo_test_suite-large-source.o cairo_test_suite-large-source-roi.o cairo_test_suite-large-twin-antialias-mixed.o cairo_test_suite-leaky-dash.o cairo_test_suite-leaky-dashed-rectangle.o cairo_test_suite-leaky-dashed-stroke.o cairo_test_suite-leaky-polygon.o cairo_test_suite-line-width.o cairo_test_suite-line-width-large-overlap.o cairo_test_suite-line-width-overlap.o cairo_test_suite-line-width-scale.o cairo_test_suite-line-width-tolerance.o cairo_test_suite-line-width-zero.o cairo_test_suite-linear-gradient.o cairo_test_suite-linear-gradient-extend.o cairo_test_suite-linear-gradient-large.o cairo_test_suite-linear-gradient-one-stop.o cairo_test_suite-linear-gradient-reflect.o cairo_test_suite-linear-gradient-subset.o cairo_test_suite-linear-step-function.o cairo_test_suite-linear-uniform.o cairo_test_suite-long-dashed-lines.o cairo_test_suite-long-lines.o cairo_test_suite-map-to-image.o cairo_test_suite-mask.o cairo_test_suite-mask-alpha.o cairo_test_suite-mask-ctm.o cairo_test_suite-mask-glyphs.o cairo_test_suite-mask-surface-ctm.o cairo_test_suite-mask-transformed-image.o cairo_test_suite-mask-transformed-similar.o cairo_test_suite-mesh-pattern.o cairo_test_suite-mesh-pattern-accuracy.o cairo_test_suite-mesh-pattern-conical.o cairo_test_suite-mesh-pattern-control-points.o cairo_test_suite-mesh-pattern-fold.o cairo_test_suite-mesh-pattern-overlap.o cairo_test_suite-mesh-pattern-transformed.o cairo_test_suite-mime-data.o cairo_test_suite-mime-surface-api.o cairo_test_suite-miter-precision.o cairo_test_suite-move-to-show-surface.o cairo_test_suite-negative-stride-image.o cairo_test_suite-new-sub-path.o cairo_test_suite-nil-surface.o cairo_test_suite-operator.o cairo_test_suite-operator-alpha.o cairo_test_suite-operator-alpha-alpha.o cairo_test_suite-operator-clear.o cairo_test_suite-operator-source.o cairo_test_suite-over-above-source.o cairo_test_suite-over-around-source.o cairo_test_suite-over-below-source.o cairo_test_suite-over-between-source.o cairo_test_suite-overlapping-boxes.o cairo_test_suite-overlapping-glyphs.o cairo_test_suite-overlapping-dash-caps.o cairo_test_suite-paint.o cairo_test_suite-paint-clip-fill.o cairo_test_suite-paint-repeat.o cairo_test_suite-paint-source-alpha.o cairo_test_suite-paint-with-alpha.o cairo_test_suite-partial-clip-text.o cairo_test_suite-partial-coverage.o cairo_test_suite-pass-through.o cairo_test_suite-path-append.o cairo_test_suite-path-stroke-twice.o cairo_test_suite-path-precision.o cairo_test_suite-pattern-get-type.o cairo_test_suite-pattern-getters.o cairo_test_suite-pdf-isolated-group.o cairo_test_suite-pixman-rotate.o cairo_test_suite-png.o cairo_test_suite-push-group.o cairo_test_suite-push-group-color.o cairo_test_suite-push-group-path-offset.o cairo_test_suite-radial-gradient.o cairo_test_suite-radial-gradient-extend.o cairo_test_suite-radial-outer-focus.o cairo_test_suite-random-clips.o cairo_test_suite-random-intersections-eo.o cairo_test_suite-random-intersections-nonzero.o cairo_test_suite-random-intersections-curves-eo.o cairo_test_suite-random-intersections-curves-nz.o cairo_test_suite-raster-source.o cairo_test_suite-record.o cairo_test_suite-record1414x.o cairo_test_suite-record2x.o cairo_test_suite-record90.o cairo_test_suite-record-extend.o cairo_test_suite-record-mesh.o cairo_test_suite-recording-surface-pattern.o cairo_test_suite-recording-surface-extend.o cairo_test_suite-rectangle-rounding-error.o cairo_test_suite-rectilinear-fill.o cairo_test_suite-rectilinear-grid.o cairo_test_suite-rectilinear-miter-limit.o cairo_test_suite-rectilinear-dash.o cairo_test_suite-rectilinear-stroke.o cairo_test_suite-reflected-stroke.o cairo_test_suite-rel-path.o cairo_test_suite-rgb24-ignore-alpha.o cairo_test_suite-rotate-image-surface-paint.o cairo_test_suite-rotated-clip.o cairo_test_suite-rounded-rectangle-fill.o cairo_test_suite-rounded-rectangle-stroke.o cairo_test_suite-scale-down-source-surface-paint.o cairo_test_suite-scale-offset-image.o cairo_test_suite-scale-offset-similar.o cairo_test_suite-scale-source-surface-paint.o cairo_test_suite-scaled-font-zero-matrix.o cairo_test_suite-stroke-ctm-caps.o cairo_test_suite-stroke-image.o cairo_test_suite-stroke-open-box.o cairo_test_suite-select-font-face.o cairo_test_suite-select-font-no-show-text.o cairo_test_suite-self-copy.o cairo_test_suite-self-copy-overlap.o cairo_test_suite-self-intersecting.o cairo_test_suite-set-source.o cairo_test_suite-show-glyphs-advance.o cairo_test_suite-show-glyphs-many.o cairo_test_suite-show-text-current-point.o cairo_test_suite-shape-general-convex.o cairo_test_suite-shape-sierpinski.o cairo_test_suite-skew-extreme.o cairo_test_suite-smask.o cairo_test_suite-smask-fill.o cairo_test_suite-smask-image-mask.o cairo_test_suite-smask-mask.o cairo_test_suite-smask-paint.o cairo_test_suite-smask-stroke.o cairo_test_suite-smask-text.o cairo_test_suite-solid-pattern-cache-stress.o cairo_test_suite-source-clip.o cairo_test_suite-source-clip-scale.o cairo_test_suite-source-surface-scale-paint.o cairo_test_suite-spline-decomposition.o cairo_test_suite-stride-12-image.o cairo_test_suite-stroke-pattern.o cairo_test_suite-subsurface.o cairo_test_suite-subsurface-image-repeat.o cairo_test_suite-subsurface-repeat.o cairo_test_suite-subsurface-reflect.o cairo_test_suite-subsurface-pad.o cairo_test_suite-subsurface-modify-child.o cairo_test_suite-subsurface-modify-parent.o cairo_test_suite-subsurface-outside-target.o cairo_test_suite-subsurface-scale.o cairo_test_suite-subsurface-similar-repeat.o cairo_test_suite-surface-finish-twice.o cairo_test_suite-surface-pattern.o cairo_test_suite-surface-pattern-big-scale-down.o cairo_test_suite-surface-pattern-operator.o cairo_test_suite-surface-pattern-scale-down.o cairo_test_suite-surface-pattern-scale-down-extend.o cairo_test_suite-surface-pattern-scale-up.o cairo_test_suite-text-antialias.o cairo_test_suite-text-antialias-subpixel.o cairo_test_suite-text-cache-crash.o cairo_test_suite-text-glyph-range.o cairo_test_suite-text-pattern.o cairo_test_suite-text-rotate.o cairo_test_suite-text-transform.o cairo_test_suite-text-zero-len.o cairo_test_suite-tighten-bounds.o cairo_test_suite-tiger.o cairo_test_suite-toy-font-face.o cairo_test_suite-transforms.o cairo_test_suite-translate-show-surface.o cairo_test_suite-trap-clip.o cairo_test_suite-twin.o cairo_test_suite-twin-antialias-gray.o cairo_test_suite-twin-antialias-mixed.o cairo_test_suite-twin-antialias-none.o cairo_test_suite-twin-antialias-subpixel.o cairo_test_suite-unaligned-box.o cairo_test_suite-unantialiased-shapes.o cairo_test_suite-unbounded-operator.o cairo_test_suite-unclosed-strokes.o cairo_test_suite-user-data.o cairo_test_suite-user-font.o cairo_test_suite-user-font-mask.o cairo_test_suite-user-font-proxy.o cairo_test_suite-user-font-rescale.o cairo_test_suite-world-map.o cairo_test_suite-white-in-noop.o cairo_test_suite-xcb-huge-image-shm.o cairo_test_suite-xcb-stress-cache.o cairo_test_suite-xcb-snapshot-assert.o cairo_test_suite-xcomposite-projection.o cairo_test_suite-xlib-expose-event.o cairo_test_suite-zero-alpha.o cairo_test_suite-zero-mask.o cairo_test_suite-pthread-same-source.o cairo_test_suite-pthread-show-text.o cairo_test_suite-pthread-similar.o cairo_test_suite-bitmap-font.o cairo_test_suite-ft-font-create-for-ft-face.o cairo_test_suite-ft-show-glyphs-positioning.o cairo_test_suite-ft-show-glyphs-table.o cairo_test_suite-ft-text-vertical-layout-type1.o cairo_test_suite-ft-text-vertical-layout-type3.o cairo_test_suite-ft-text-antialias-none.o cairo_test_suite-pdf-features.o cairo_test_suite-pdf-mime-data.o cairo_test_suite-pdf-surface-source.o cairo_test_suite-ps-eps.o cairo_test_suite-ps-features.o cairo_test_suite-ps-surface-source.o cairo_test_suite-svg-surface.o cairo_test_suite-svg-clip.o cairo_test_suite-svg-surface-source.o cairo_test_suite-xcb-surface-source.o cairo_test_suite-xlib-surface.o cairo_test_suite-xlib-surface-source.o cairo_test_suite-get-xrender-format.o cairo_test_suite-multi-page.o cairo_test_suite-fallback-resolution.o cairo_test_suite-cairo-test-constructors.o  -L/usr/local/lib -lpthread ../test/pdiff/.libs/libpdiff.a ../boilerplate/.libs/libcairoboilerplate.a /var/tmp/cairo-1.12.0/src/.libs/libcairo.so -L/usr/local/lib/X11 -ldl ../src/.libs/libcairo.so /usr/local/lib/libpixman-1.so /usr/local/lib/libfontconfig.so /usr/local/lib/libexpat.so /usr/local/lib/libintl.so -lc /usr/local/lib/libiconv.so /usr/local/lib/libfreetype.so /usr/local/lib/libpng14.so /usr/local/lib/libxcb-shm.so /usr/local/lib/libX11-xcb.so /usr/local/lib/libxcb-render.so /usr/local/lib/libXrender.so /usr/local/lib/libX11.so /usr/local/lib/libxcb.so /usr/local/lib/libXau.so /usr/local/lib/libXdmcp.so -lnsl -lsocket -lz -lrt -lm -R/cairo/lib -R/usr/local/lib
ld: warning: file ../src/.libs/libcairo.so: linked to /var/tmp/cairo-1.12.0/src/.libs/libcairo.so: attempted multiple inclusion of file
Undefined                       first referenced
 symbol                             in file
_cairo_clip_copy                    ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)  (symbol scope specifies local binding)
_cairo_clip_intersect_rectangle     ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)  (symbol scope specifies local binding)
_cairo_clip_destroy                 ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)  (symbol scope specifies local binding)
__cairo_clip_all                    ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)
_cairo_boxes_init_for_array         ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)  (symbol scope specifies local binding)
_cairo_clip_intersect_clip          ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate-ps.o)  (symbol scope specifies local binding)
ld: fatal: symbol referencing errors. No output written to .libs/cairo-test-suite
gmake[4]: *** [cairo-test-suite] Error 2
gmake[4]: Leaving directory `/var/tmp/cairo-1.12.0/test'
gmake[3]: *** [all-recursive] Error 1
gmake[3]: Leaving directory `/var/tmp/cairo-1.12.0/test'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory `/var/tmp/cairo-1.12.0/test'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/var/tmp/cairo-1.12.0'
gmake: *** [all] Error 2

Discussion:
The #include files in cairo-1.12.0/boilerplate/cairo-boilerplate-ps.c (eventually) include cairo-1.12.0/src/cairo-clip-private.h which causes the issue.

box1:/var/tmp/cairo-1.12.0/src root# grep -n return cairo-clip-private.h
89:    return clip == &__cairo_clip_all;
96:    return (cairo_clip_t *) &__cairo_clip_all;
129:    return _cairo_clip_intersect_rectangle (_cairo_clip_copy (clip), r);
140:    return _cairo_clip_intersect_clip (_cairo_clip_copy (clip), other);
Comment 1 Uli Schlachter 2012-04-12 01:39:41 UTC
For reference: This is the same underlying problem as bug 48489. The compiler sees a static inline function that is unused but still emits it which sounds pretty useless.

The include chain that leads to cairo-clip-private.h is:
cairo-boilerplate-ps.c => cairo-ps-surface-private.h => cairo-surface-private.h => cairo-clip-private.h

Good luck working around this compiler. :-(

I have to ask now: Mark, which compiler is this?
Comment 2 Chris Wilson 2012-04-12 01:57:29 UTC
The boilerplate shouldn't be poking around inside privates. That prevents us from making it a standalone conformance suite. Instead we need to provide cairo_ps_debug_functions to setup whatever is required for test purposes.
Comment 3 mark 2012-04-12 07:09:06 UTC
It's the Sun Studio 12.1 compiler, see the top of the Description for specifics.
Comment 4 Chris Wilson 2012-04-19 05:31:23 UTC
I performed some surgery on the header files to try and avoid pulling in inlines when we only want to poke around in the structures.

Can you please retest with current git?
Comment 5 Chris Wilson 2012-04-29 03:58:39 UTC
I'm presuming that I've rearranged the code to bypass this particular error and await the next.
Comment 6 mark 2012-05-08 22:41:27 UTC
I've downloaded 1.12.2 and re-compiled, this error is not seen (but possibly didn't get that far into the compile due to the other bug ;) )

(Regarding using a git download, I've compiled git today and will config it, it times out during connecting at the moment)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.