Bug 16350 - cairo-test.c: make check fails for cairo 1.6.4 on Mac OS X 10.4.11 PPC
Summary: cairo-test.c: make check fails for cairo 1.6.4 on Mac OS X 10.4.11 PPC
Status: RESOLVED INVALID
Alias: None
Product: cairo
Classification: Unclassified
Component: general (show other bugs)
Version: 1.6.4
Hardware: PowerPC Mac OS X (All)
: medium critical
Assignee: Carl Worth
QA Contact: cairo-bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-14 07:24 UTC by cfr
Modified: 2008-10-10 15:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description cfr 2008-06-14 07:24:45 UTC
Darwin Kernel Version 8.11.0: Wed Oct 10 18:26:00 PDT 2007;
root:xnu-792.24.17~1/RELEASE_PPC
gcc 4.0.1

1) ./configure --disable-quartz
2) edit Makefiles to replace "-include render.h renderproto.h" with "-include
render.h -include renderproto.h"
3) edit libtool to replace "-dynamiclib" with "-dynamiclib -flat_namespace"
4) make
5) make check

Also tried without step 3 with the same results.

Making check in src
make  check-TESTS
Compiler doesn't support symbol visibility; skipping test
PASS: check-def.sh
Compiler doesn't support symbol visibility; skipping test
PASS: check-plt.sh
Checking public headers for missing cairo_public decorators
PASS: check-headers.sh
Checking source files for missing or misplaced #include "cairoint.h"
PASS: check-cairoint.sh
Checking documentation for incorrect syntax
PASS: check-doc-syntax.sh
==================
All 5 tests passed
==================
Making check in doc
Making check in public
make  check-TESTS
At least one of cairo-undocumented.txt and cairo-unused.txt not found.
Skipping test.
PASS: check-doc-coverage.sh
Checking documentation for incorrect syntax
PASS: check-doc-syntax.sh
==================
All 2 tests passed
==================
make[2]: Nothing to be done for `check-am'.
Making check in boilerplate
make[1]: Nothing to be done for `check'.
Making check in test
Making check in pdiff
make[2]: Nothing to be done for `check'.
Making check in .
make  imagediff png-flatten  
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -D_GNU_SOURCE -I. -I./pdiff -I../boilerplate -I../pixman/src -I../src -I../src -I/usr/local/include/freetype2 -I/usr/local/include   -I/usr/local/include   -I/usr/local/include/libpng12   -include render.h -include renderproto.h -DXTHREADS -I/usr/local/include -I/usr/local/include/X11/extensions -I/usr/X11R6/include    -I/usr/X11R6/include -I/usr/local/include/pixman-1     -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing    -g -O2 -MT cairo-test.lo -MD -MP -MF .deps/cairo-test.Tpo -c -o cairo-test.lo cairo-test.c
 gcc -DHAVE_CONFIG_H -I. -I.. -D_GNU_SOURCE -I. -I./pdiff -I../boilerplate -I../pixman/src -I../src -I../src -I/usr/local/include/freetype2 -I/usr/local/include -I/usr/local/include -I/usr/local/include/libpng12 -include render.h -include renderproto.h -DXTHREADS -I/usr/local/include -I/usr/local/include/X11/extensions -I/usr/X11R6/include -I/usr/X11R6/include -I/usr/local/include/pixman-1 -Wall -Wextra -Wsign-compare -Werror-implicit-function-declaration -Wpointer-arith -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wpacked -Wswitch-enum -Wmissing-format-attribute -Wstrict-aliasing=2 -Winit-self -Wdeclaration-after-statement -Wold-style-definition -Wno-missing-field-initializers -Wno-unused-parameter -Wno-long-long -Winline -fno-strict-aliasing -g -O2 -MT cairo-test.lo -MD -MP -MF .deps/cairo-test.Tpo -c cairo-test.c  -fno-common -DPIC -o .libs/cairo-test.o
cairo-test.c: In function 'cairo_test_fini':
cairo-test.c:132: error: implicit declaration of function 'FcFini'
cairo-test.c:132: warning: nested extern declaration of 'FcFini'
cairo-test.c: In function 'cairo_test_expecting':
cairo-test.c:560: warning: format '%d' expects type 'int', but argument 6 has type 'size_t'
make[3]: *** [cairo-test.lo] Error 1
make[3]: Target `imagediff' not remade because of errors.
make[3]: Target `png-flatten' not remade because of errors.
make[2]: *** [check-am] Error 2
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

I don't know enough to know whether this is a serious problem or not.

- cfr
Comment 1 cfr 2008-06-18 13:35:01 UTC
Update:

If I edit test/cairo-test.c so that the line "#include <fontconfig/fontconfig.h>" instead reads "#include </usr/local/include/fontconfig/fontconfig.h>", I get past this error. The same error then occurs regarding test/font-options.c and the same edit lets me get past it. This finally gets through make check with  11 of 173 tests failing (ignoring all those requiring the DISPLAY variable to be set which it isn't in this environment). But all those failures look minor to me.  So, setting aside the tests which require X11, these edits let me get through the test suite.

But I cannot figure out how to get through it without hard-coding the include path for fontconfig.h. I think what is happening is that configure is finding the updated version of fontconfig in /usr/local and make compiles against that, but when I run the test suite, it is using the old version of fontconfig in /usr/X11R6 which does not include the FcFini function and I do not know how to stop it doing this.

(Note, I ignore the tests requiring X11 because these parts of Cairo's test suite always fail for me so it seemed better to concentrate on the tests which usually pass.)

- cfr
Comment 2 Chris Wilson 2008-10-10 15:52:29 UTC
This reads like a system configuration issue causing it to compile against one version of the library but link against the other. A nuisance, but hopefully you'll have better success with 1.8.0 as quite a lot of effort went into making the build system more robust across the various architectures (notably win32 and OS/X).
You're right to concentrate on only the new failures between releases (though reducing the total number of failures to zero is the ultimate goal, whilst increasing the decision coverage...) So please do try the latest stable release and let us know how it fares. Thanks.


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.