[cairo] Help compiling Cairo-1.12.0 for the PS3

Nacho Man nacho2874 at yahoo.com
Sun Dec 1 15:22:49 PST 2013

I got cairo-1.12.16 to compile for the PS3.  I had to rename a function in the cairo-1.12.16/perf/micro/text.c file.  The function was void text (cairo_perf_t *perf, cairo_t *cr, int width, int height).  I renamed it to cairo_text.   This was the error message I was getting before I renamed it:
 CC     text.lo
/tmp/ccf2KMGt.s: Assembler messages:
/tmp/ccf2KMGt.s:714: Warning: section symbols are already global
/tmp/ccf2KMGt.s:715: Error: symbol `.text' is already defined
make[5]: *** [text.lo] Error 1

What effects will there be from me renaming it?  I'm not sure what package in the toolchain defines text.  I had the same error message with another library and had to do the same thing.  Thanks for the help.


On Sunday, December 1, 2013 3:33 PM, Nacho Man <nacho2874 at yahoo.com> wrote:
Hello, thanks for the reply.   I actually figured that out last night around 2 in the morning.  I modified the Makefile.in and Makefile.am file in the cairo-1.12.0/test and perf directory.  I commented out the "noinst_PROGRAMS = cairo-test-suite$(EXEEXT) # always build" line and was successfully able to compile the cairo for the PS3.   I thought it'd work with the latest (cairo-1.12.16) and I had mixed results.   It did skip the test-suite.   However, it's still trying to compile the code in the perf directory.  I am making progress though.  I decided to go to bed last night and continue working on it today.  I'll keep ya posted if I figure it out.  If anyone has any ideas as to why in 1.12.0 commenting out the noinst_PROGRAMS works for the perf directory but not in the 1.12.16 version, please let me know.   And thanks again!

Spork Schivago

On Sunday, December 1, 2013 5:03 AM, Uli Schlachter <psychon at znc.in> wrote:

On 30.11.2013 21:01, Nacho Man wrote:
> Hello, I am trying to compile Cairo-1.12.0 for the Playstation 3.  I am having trouble.   Cairo-1.10.2 compiles just fine.   With Cairo-1.12.0 or higher, I get the following error message:
> make[5]: Leaving directory `/home/spork/src/toolchain/build/ps3libraries/build/cairo-1.12.0/build-ppu/boilerplate'
>   CCLD   cairo-test-suite
> cairo_test_suite-cairo-test.o: In function `.cairo_test_reference_filename':
> cairo-test.c:(.text.cairo_test_reference_filename+0x84): undefined reference to `.access'
> cairo-test.c:(.text.cairo_test_reference_filename+0xfc): undefined reference to `.access'
> cairo-test.c:(.text.cairo_test_reference_filename+0x15c): undefined reference to `.access'
> cairo-test.c:(.text.cairo_test_reference_filename+0x1dc): undefined reference to `.access'
> cairo-test.c:(.text.cairo_test_reference_filename+0x23c): undefined reference to `.access'
> cairo_test_suite-cairo-test.o:cairo-test.c:(.text.cairo_test_reference_filename+0x2ac): more undefined references to `.access' follow
> ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate.o):(.toc+0xf8): undefined reference to `pclose'
> ../boilerplate/.libs/libcairoboilerplate.a(cairo-boilerplate.o): In function `.cairo_boilerplate_open_any2ppm':
> cairo-boilerplate.c:(.text.cairo_boilerplate_open_any2ppm+0x90): undefined reference to `.popen'
> collect2: error: ld returned 1 exit status
> make[4]: *** [cairo-test-suite] Error 1
> make[4]: Leaving directory `/home/spork/src/toolchain/build/ps3libraries/build/cairo-1.12.0/build-ppu/test'
> It appears that in 1.10.2, the files in ./cairo-1.10.2/test do not get compiled at all, however, in the later versions they do.   Is there any way to pass something to the configure script to get it to not compile the test suite?

This is due to the following commit:

commit b8f43617a98aeb6c10d554ed11b48a83fc9b5129
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sat Jul 16 20:45:03 2011 +0100

    test: Always compile cairo-test-suite

    I'm tired of having to explicitly type make cairo-test-suite.

There doesn't seem to be any easy way to not build the test suite currently.

Assuming you only want the cairo library, you could try only calling "make" (and
perhaps "make install"?) in the src/ subdirectory.

<alanc> I think someone had a Xprint version of glxgears at one point,
    but benchmarking how many GL pages you can print per second
    was deemed too silly to merge

cairo mailing list
cairo at cairographics.org

More information about the cairo mailing list