[cairo] bug trying to upgrade cairo from cairo-1.8.10_1, 1 to cairo-1.10.0_3, 1 on FreeBSD 6.3

Andrea Canciani ranma42 at gmail.com
Fri Nov 26 00:30:17 PST 2010


On Fri, Nov 26, 2010 at 2:07 AM, Benjamin Ward <ben at forward.net.au> wrote:
>
> On 26/11/2010, at 12:01 AM, M Joonas Pihlaja wrote:
>
>>
>> Hi Ben,
>>
>> On Thu, 25 Nov 2010, ben ward wrote:
>>
>>>  CC     cairo-bentley-ottmann.lo
>>> cairo-bentley-ottmann.c: In function `edges_compare_x_for_y_general':
>>> cairo-bentley-ottmann.c:425: internal compiler error: in expand_mult, at
>>> expmed.c:2653
>>> Please submit a full bug report,
>>> with preprocessed source if appropriate.
>>
>> This looks like flaky __uint128_t support in gcc 3.4.  Could you try
>> the patch below to see if it fixes the problem for you?
>>
>> Joonas
>>
>> diff --git a/src/cairo-wideint-type-private.h b/src/cairo-wideint-type-private.h
>> index 4c910ed..2d23d17 100644
>> --- a/src/cairo-wideint-type-private.h
>> +++ b/src/cairo-wideint-type-private.h
>> @@ -121,6 +121,11 @@ typedef struct _cairo_quorem64 {
>>     cairo_int64_t      rem;
>> } cairo_quorem64_t;
>>
>> +/* Intrinsic __uint128_t support is broken on gcc 3.4/sparc. */
>> +#if __GNUC__ == 3 && __GNUC_MINOR__ == 4
>> +#undef HAVE___UINT128_T
>> +#endif
>> +
>> /* gcc has a non-standard name. */
>> #if HAVE___UINT128_T && !HAVE_UINT128_T
>> typedef __uint128_t uint128_t;
>>
>
> Hi Joonas,
>
> thanks for the patch. but unfortunately I am having trouble applying it. I preface this with note that im not at all experienced with patching ports so please forgive if im asking the bleeding obvious.
>
> Not sure if you are a FreeBSD person but patches to ports are in a in a different format. This may now not
> be a "cairo" question but a "how do you patch FreeBSD" question. (I have posted a question on the freeBSD forums)
>
>
> Anyway the current set of cairo patches are:
>
> [root at hushus /usr/ports/graphics/cairo/files]# ls
> patch-src_cairo-xlib-display.c          patch-src_cairo.h                       patch-src_cairoint.h
>
> Looking at one:
>
> [root at hushus /usr/ports/graphics/cairo/files]# less patch-src_cairo.h
> --- src/cairo.h.orig    2010-10-29 16:27:48.000000000 +0200
> +++ src/cairo.h 2010-10-29 16:28:07.000000000 +0200
> @@ -1973,7 +1973,7 @@ typedef enum _cairo_device_type {
>     CAIRO_DEVICE_TYPE_SCRIPT,
>     CAIRO_DEVICE_TYPE_XCB,
>     CAIRO_DEVICE_TYPE_XLIB,
> -    CAIRO_DEVICE_TYPE_XML,
> +    CAIRO_DEVICE_TYPE_XML
>  } cairo_device_type_t;
>
>  cairo_public cairo_device_type_t
> patch-src_cairo.h (END)
>
>
> i named your patch files/patch-src_cairo-wideint-type-private.h and re-ran make. but i got this error
>
> ===>  Patching for cairo-1.10.0_3,1
> ===>   cairo-1.10.0_3,1 depends on package: libtool>=2.2 - found
> ===>  Applying FreeBSD patches for cairo-1.10.0_3,1
> File to patch: src/cairo-wideint-type-private.h
> patch: **** malformed patch at line 12:     +#endif
> => Patch patch-src_cairo-wideint-type-private.h failed to apply cleanly.
> *** Error code 1
>
> I then tired to edit out the diff --git lines and change the formatting so that it matched the patches in files. but still no luck.
>
> patch: **** malformed patch at line 10:     +#endif
> => Patch patch-src_cairo-wideint-type-private.h failed to apply cleanly.
> *** Error code 1
>
>
>
> Any thoughts?

I think that the problem is the a/ and b/ path.
The attachment applies cleanly for me (with "make patch" on FreeBSD 7.2).

Andrea
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-src_cairo-wideint-type-private.h
Type: text/x-chdr
Size: 426 bytes
Desc: not available
URL: <http://lists.cairographics.org/archives/cairo/attachments/20101126/c3dd664d/attachment.h>


More information about the cairo mailing list