[racket] Racket on Centos 5

From: keydana at gmx.de (keydana at gmx.de)
Date: Tue Mar 29 05:22:53 EDT 2011

Thanks a lot for your reply! Unfortunately, continuing the same procedure and ending up having made unavailable the following functions:

in cairo.rkt:

cairo_clip_extents
cairo_pattern_get_color_stop_count 
cairo_pattern_get_color_stop_rgba 
cairo_pattern_get_rgba 
cairo_pattern_get_surface (
cairo_pattern_get_linear_points
cairo_pattern_get_radial_circles 

in pango.rkt:

pango_layout_iter_get_run_readonly 
pango_language_get_default
pango_layout_get_unknown_glyphs_count

drracket tries to start, but the pango stuff seems to be really needed (see detailed stack trace below).
So I assume that for drracket there's nothing to be done, is it? 
The one executable I got to start without errors (that is to say, I tried mred too, it started but with errors) was mred-text - would it be possible to work with this one (I didn't even know it existed before...) if one doesn't need any graphics?

Thanks again,
Sigrid

$ drracket 
pango_layout_get_unknown_glyphs_count: implementation not found; arguments:
#<cpointer:PangoLayout>

 === context ===
/home/oracle/racket/collects/racket/draw/private/font.rkt:87:0:
has-screen-glyph?
/home/oracle/racket/collects/racket/private/map.rkt:72:11: andmap
/home/oracle/racket/collects/drracket/tool-lib.rkt: [running body]
/home/oracle/racket/collects/drracket/private/drracket-normal.rkt: [running
body]
/home/oracle/racket/collects/drracket/drracket.rkt: [running body]

pango_layout_iter_get_run_readonly: implementation not found; arguments:
#<cpointer:PangoLayoutIter>

 === context ===
/home/oracle/racket/collects/racket/draw/private/dc.rkt:1435:4:
extract-only-run method in dc%
/home/oracle/racket/collects/racket/draw/private/dc.rkt:1167:4: do-text method
in dc%
/home/oracle/racket/collects/racket/draw/private/dc.rkt:1128:4: core
/home/oracle/racket/collects/racket/snip/private/style.rkt:885:2:
reset-text-metrics method in style%
/home/oracle/racket/collects/racket/snip/private/style.rkt:900:2:
get-text-height method in style%
/home/oracle/racket/collects/racket/snip/private/snip.rkt:429:2: core
/home/oracle/racket/collects/mred/private/wxme/mline.rkt:1082:7: loop
/home/oracle/racket/collects/mred/private/wxme/mline.rkt:1077:2: update-here
/home/oracle/racket/collects/mred/private/wxme/mline.rkt:1072:0:
update-graphics
/home/oracle/racket/collects/mred/private/wxme/text.rkt:4692:2: core
/home/oracle/racket/collects/mred/private/wxme/text.rkt:4845:2: redraw method
in text%
/home/oracle/racket/collects/mred/private/wxme/editor-canvas.rkt:968:2: core
/home/oracle/racket/collects/racket/private/more-scheme.rkt:149:2:
call-with-break-parameterization
/home/oracle/racket/collects/racket/private/more-scheme.rkt:265:2:
call-with-exception-handler
/home/oracle/racket/collects/racket/private/class-internal.rkt:3511:0:
continue-make-object
/home/oracle/racket/collects/racket/private/class-internal.rkt:3433:2:
make-object
...

about to suspend in atomic mode
Aborted





Am 28.03.2011 um 22:37 schrieb Matthew Flatt:

> Sorry, I'd lost track of this one.
> 
> The cairo_clip_extents() function is used to implement the `is-empty?
> method of region%, for which I can find no uses anywhere in the Racket
> source tree.
> 
> So, if you change "collects/draw/unsafe/cairo.rkt" around line 124 to
> 
> (define-cairo cairo_clip_extents (_fun _cairo_t 
>                                        (x1 : (_ptr o _double)) 
>                                        (y1 : (_ptr o _double)) 
>                                        (x2 : (_ptr o _double)) 
>                                        (y2 : (_ptr o _double)) 
>                                        -> _void
>                                        -> (values x1 y1 x2 y2))
>    ;; Adding this part:
>    #:make-fail make-not-available)
> 
> does that fix the problem, or are there other missing functions?
> 
> 
> At Mon, 28 Mar 2011 22:05:09 +0200, "keydana at gmx.de" wrote:
>> Hi,
>> 
>> I've encountered the exactly same problem today, running on Oracle Linux (= 
>> Red Hat 5.5, approximately)...
>> Would anyone know a workaround for this, or if any not-too-outdated racket 
>> version would run with the old libcairo version?
>> 
>> Unfortunately I have no alternative to installing racket on some RedHat-like 
>> system in a VM, for the present purpose...
>> 
>> Many thanks for any ideas,
>> Sigrid
>> 
>> 
>> 
>> 
>>> 
>>> 
>>> ------------------------------
>>> 
>>> Message: 3
>>> Date: Tue, 01 Mar 2011 22:48:20 -0500
>>> From: Neil Van Dyke <neil at neilvandyke.org>
>>> To: Ritchie Cai <ritchiecai at gmail.com>
>>> Cc: users at racket-lang.org
>>> Subject: Re: [racket] Racket on Centos 5
>>> Message-ID: <4D6DBE04.3070806 at neilvandyke.org>
>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>> 
>>> Apparently CentOS 5.5 packages Cairo version 1.2.4.
>>> 
>>> Looks like "cairo_clip_extents" was introduced in Cairo snapshot version 
>>> 1.3.2.
>>> 
>>> So, "cairo_clip_extents" was introduced in the development stream in 
>>> November 15th, 2006, four years ago, but the RHEL distro (and therefore, 
>>> CentOS) has not picked it up. Seems like RHEL/CentOS are as bad for 
>>> recent-era libraries as Debian Stable.  (Matthew Flatt graciously added 
>>> compatibility with the old GTK-related library versions on the Debian 
>>> Stable distros that I tend to use.)
>>> 
>>> Looks like the recently released RHEL 6 has Cairo 1.8.8 or later (which 
>>> should be fine for DrRacket), but CentOS 6 is not yet available.  I 
>>> don't know what Cairo version CentOS 5.6 will have.
>>> 
>>> Ritchie Cai wrote at 03/01/2011 10:09 PM:
>>>> Centos 5.5, [...] ffi-obj: couldn't get "cairo_clip_extents" from 
>> "libcairo.so.2" (/usr/lib64/libcairo.so.2: undefined symbol: 
>> cairo_clip_extents)
>>>> 
>>> 
>>> -- 
>>> http://www.neilvandyke.org/
>>> 
>> 
>> 
>> _________________________________________________
>>  For list-related administrative tasks:
>>  http://lists.racket-lang.org/listinfo/users




Posted on the users mailing list.