This queue is for tickets about the Cairo CPAN distribution.

Report information
The Basics
Id:
75260
Status:
resolved
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
d.thomas [...] its.uq.edu.au
Cc:
AdminCc:

BugTracker
Severity:
Critical
Broken in:
1.090
Fixed in:
(no value)



Subject: build/test failure on RHEL5.7 (cairo 1.2.4)
submitted after brief exchange with Brian I don't know which version of Fedora corresponds the the versions of Red Hat I used. This was the first time I'd tried installing Cairo. on RHEL6.2, perl 5.14.2, cairo 1.8.8 Cairo builds and passes tests though do see t/CairoSurface.t .. 1/88 unknown surface type 4096 encountered at t/CairoSurface.t line 234. still builds and passes tests after applying attached patch on RHEL5.7, perl 5.14.2, cairo 1.2.4 make failed with warnings about undefined symbols like CAIRO_FONT_TYPE_QUARTZ applied a patch based on https://rt.cpan.org/Public/Bug/Display.html?id=72576 now builds OK, but some tests fail t/Cairo.t ......... ok t/CairoFont.t ..... ok t/CairoFt.t ....... skipped: need Cairo with FreeType support and Font::FreeType t/CairoMatrix.t ... ok t/CairoPath.t ..... 1/6 # Failed test at t/CairoPath.t line 43. # Structures begin differing at: # $got->[5] = Cairo::Path::Data=HASH(0x14a3b6d8) # $expected->[5] = Does not exist # Failed test at t/CairoPath.t line 43. # Structures begin differing at: # $got->[5] = Cairo::Path::Data=HASH(0x14a53220) # $expected->[5] = Does not exist # Failed test at t/CairoPath.t line 43. # Structures begin differing at: # $got->[5] = Cairo::Path::Data=HASH(0x14a53ac0) # $expected->[5] = Does not exist # Failed test at t/CairoPath.t line 43. # Structures begin differing at: # $got->[6] = Cairo::Path::Data=HASH(0x14a5ab28) # $expected->[6] = Does not exist # Failed test at t/CairoPath.t line 88. # Structures begin differing at: # $got->[6] = Cairo::Path::Data=HASH(0x14a5b158) # $expected->[6] = Does not exist # Looks like you failed 5 tests of 6. t/CairoPath.t ..... Dubious, test returned 5 (wstat 1280, 0x500) Failed 5/6 subtests t/CairoPattern.t .. ok t/CairoRegion.t ... skipped: need cairo 1.10 t/CairoSurface.t .. 1/88 libpng error: Write Error libpng error: Write Error libpng error: Read Error t/CairoSurface.t .. ok some debug output attached, captured from t/CairoPath.t via hack sub paths_agree { my ($cr, $path, $expected_path) = @_; $cr->new_path; $cr->append_path ($path); open my $fh, '>/tmp/txc'; use Data::Dumper qw(Dumper); print $fh Dumper($cr->copy_path); print $fh Dumper($expected_path); close $fh; is_deeply ($cr->copy_path, $expected_path); }
Subject: Cairo-1.090.tar.gz.diff
diff -u Cairo-1.090.orig/CairoFont.xs Cairo-1.090/CairoFont.xs --- Cairo-1.090.orig/CairoFont.xs 2011-11-27 17:56:45.000000000 +1000 +++ Cairo-1.090/CairoFont.xs 2012-02-24 13:26:47.000000000 +1000 @@ -28,8 +28,12 @@ /* These aren't wrapped yet: */ case CAIRO_FONT_TYPE_WIN32: +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0) case CAIRO_FONT_TYPE_QUARTZ: +#endif +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 8, 0) case CAIRO_FONT_TYPE_USER: +#endif package = "Cairo::FontFace"; break; diff -u Cairo-1.090.orig/CairoSurface.xs Cairo-1.090/CairoSurface.xs --- Cairo-1.090.orig/CairoSurface.xs 2011-11-27 17:56:45.000000000 +1000 +++ Cairo-1.090/CairoSurface.xs 2012-02-24 13:27:57.000000000 +1000 @@ -98,9 +98,13 @@ case CAIRO_SURFACE_TYPE_WIN32: case CAIRO_SURFACE_TYPE_BEOS: case CAIRO_SURFACE_TYPE_DIRECTFB: +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 4, 0) case CAIRO_SURFACE_TYPE_OS2: +#endif +#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 6, 0) case CAIRO_SURFACE_TYPE_WIN32_PRINTING: case CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: +#endif #if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0) case CAIRO_SURFACE_TYPE_SCRIPT: case CAIRO_SURFACE_TYPE_QT: diff -u Cairo-1.090.orig/Makefile.PL Cairo-1.090/Makefile.PL --- Cairo-1.090.orig/Makefile.PL 2012-01-20 16:47:14.000000000 +1000 +++ Cairo-1.090/Makefile.PL 2012-02-24 13:34:12.000000000 +1000 @@ -321,9 +321,6 @@ CAIRO_SURFACE_TYPE_BEOS CAIRO_SURFACE_TYPE_DIRECTFB CAIRO_SURFACE_TYPE_SVG - CAIRO_SURFACE_TYPE_OS2 - CAIRO_SURFACE_TYPE_WIN32_PRINTING - CAIRO_SURFACE_TYPE_QUARTZ_IMAGE /]; $enums{cairo_svg_version_t} = [qw/ @@ -354,6 +351,7 @@ add_new_enum_values( cairo_status_t => [qw/CAIRO_STATUS_INVALID_INDEX CAIRO_STATUS_CLIP_NOT_REPRESENTABLE/], + cairo_surface_type_t => [qw/CAIRO_SURFACE_TYPE_OS2/], ); push @exports, qw/newSVCairoRectangle @@ -365,6 +363,8 @@ cairo_font_type_t => [qw/CAIRO_FONT_TYPE_QUARTZ/], cairo_status_t => [qw/CAIRO_STATUS_TEMP_FILE_ERROR CAIRO_STATUS_INVALID_STRIDE/], + cairo_surface_type_t => [qw/CAIRO_SURFACE_TYPE_WIN32_PRINTING + CAIRO_SURFACE_TYPE_QUARTZ_IMAGE/], ); Common subdirectories: Cairo-1.090.orig/examples and Cairo-1.090/examples Common subdirectories: Cairo-1.090.orig/inc and Cairo-1.090/inc Common subdirectories: Cairo-1.090.orig/lib and Cairo-1.090/lib Common subdirectories: Cairo-1.090.orig/t and Cairo-1.090/t
Subject: cairo-rhel5-debug.txt
$VAR1 = bless( [ bless( { 'type' => 'move-to', 'points' => bless( [ bless( [ '1', '2' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'curve-to', 'points' => bless( [ bless( [ '55', '66' ], 'Cairo::Path::Point' ), bless( [ '77', '88' ], 'Cairo::Path::Point' ), bless( [ '99', '1010' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'line-to', 'points' => bless( [ bless( [ '3333', '4444' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'line-to', 'points' => bless( [ bless( [ '23', '42' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'close-path', 'points' => bless( [], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'move-to', 'points' => bless( [ bless( [ '1', '2' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ), bless( { 'type' => 'move-to', 'points' => bless( [ bless( [ '1', '2' ], 'Cairo::Path::Point' ) ], 'Cairo::Path::Points' ) }, 'Cairo::Path::Data' ) ], 'Cairo::Path' ); $VAR1 = [ { 'points' => [ [ 1, 2 ] ], 'type' => 'move-to' }, { 'points' => [ [ 55, 66 ], [ 77, 88 ], [ 99, 1010 ] ], 'type' => 'curve-to' }, { 'points' => [ [ 3333, 4444 ] ], 'type' => 'line-to' }, { 'points' => [ [ 23, 42 ] ], 'type' => 'line-to' }, { 'points' => [], 'type' => 'close-path' }, { 'points' => [ [ 1, 2 ] ], 'type' => 'move-to' } ];
On Fri Feb 24 01:51:34 2012, d.thomas@its.uq.edu.au wrote:
Show quoted text
> t/CairoPath.t ..... 1/6 > # Failed test at t/CairoPath.t line 43. > # Structures begin differing at: > # $got->[5] = Cairo::Path::Data=HASH(0x14a3b6d8) > # $expected->[5] = Does not exist > > # Failed test at t/CairoPath.t line 43. > # Structures begin differing at: > # $got->[5] = Cairo::Path::Data=HASH(0x14a53220) > # $expected->[5] = Does not exist > > # Failed test at t/CairoPath.t line 43. > # Structures begin differing at: > # $got->[5] = Cairo::Path::Data=HASH(0x14a53ac0) > # $expected->[5] = Does not exist > > # Failed test at t/CairoPath.t line 43. > # Structures begin differing at: > # $got->[6] = Cairo::Path::Data=HASH(0x14a5ab28) > # $expected->[6] = Does not exist > > # Failed test at t/CairoPath.t line 88. > # Structures begin differing at: > # $got->[6] = Cairo::Path::Data=HASH(0x14a5b158) > # $expected->[6] = Does not exist
This should now be fixed in git master with the following commits: <http://git.gnome.org/browse/perl-Cairo/commit/?id=21dd8a0600
Show quoted text
cbfac46723c7745b377fce94c8bdc3>
<http://git.gnome.org/browse/perl-Cairo/commit/?id=a1cd2e45b4
Show quoted text
ee49a724ae5d7e854ad9829eebf00d>
Let me know if there are any further issues.
Subject: Re: [rt.cpan.org #75260] build/test failure on RHEL5.7 (cairo 1.2.4)
Date: Sun, 6 May 2012 20:45:48 +0000
To: "<bug-Cairo@rt.cpan.org>" <bug-Cairo@rt.cpan.org>
From: Danny Thomas <d.thomas@its.uq.edu.au>
On 08/04/2012, at 4:06 AM, Torsten Schoenfeld via RT wrote:
Show quoted text
> This should now be fixed in git master with the following commits:
sorry for not replying sooner Cairo-1.091_001 now PASSes on RHEL5.7 / cairo devel 1.2.4-5.el5 These also built and PASS their tests Graphics-Primitive-Driver-Cairo-0.44 Chart-Clicker-2.81 but while the examples from Chart/Clicker/Tutorial.pm do create files, they're not right, e.g. the complete chart.pdf is %PDF-1.4 %µÌÆ˚ 1 0 obj << /Type /Pages /Kids [ ] /Count 0 /Resources << /Font <<
Show quoted text
>> >> >>
endobj 2 0 obj << /Creator (cairographics.org) /Producer (cairographics.org)
Show quoted text
>>
endobj 3 0 obj << /Type /Catalog /Pages 1 0 R
Show quoted text
>>
endobj xref 0 4 0000000000 65535 f 0000000017 00000 n 0000000133 00000 n 0000000221 00000 n trailer << /Size 4 /Root 3 0 R /Info 2 0 R
Show quoted text
>>
startxref 278 %%EOF Building the same version of perl and modules on RHEL6.2 cairo 1.8.8-3.1.el6 does produce the output I expect. It would probably be a good idea for Chart::Clicker to a produce a graphic and confirm it matches what is expected as GD does. However there is a downside per my notes of a fix applied during my automated build process GD # test 10 in t/GD.t failed on FreeBSD and according to # https://rt.cpan.org/Public/Bug/Display.html?id=49053 # this happens because a different library version is producing # a png with a different chunk size. There are already 3 versions # of the expected output file, so the png included in that bug # report and install as the fourth version.
Subject: Re: [rt.cpan.org #75260] build/test failure on RHEL5.7 (cairo 1.2.4)
Date: Mon, 7 May 2012 02:08:15 +0000
To: "<bug-Cairo@rt.cpan.org>" <bug-Cairo@rt.cpan.org>
From: Danny Thomas <d.thomas@its.uq.edu.au>
Thanks for your efforts in up the build/install. Unless there's a simple and obvious fix, it doesn't seem worthwhile trying to fix such an old version and I'm sure there's lots of better places to look at. From my point of view, we're being encouraged to migrate from RHEL5 -> RHEL 6. Thanks Danny
On Sun May 06 16:46:00 2012, d.thomas@its.uq.edu.au wrote:
Show quoted text
> but while the examples from Chart/Clicker/Tutorial.pm > do create files, they're not right, e.g. > > the complete chart.pdf is > [...]
This is very unlikely to be a bug in the Perl bindings. I think this is a bug in (the old version of) cairo itself.


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.