[racket] Racket on Centos 5

From: keydana at gmx.de (keydana at gmx.de)
Date: Sun Apr 3 02:58:24 EDT 2011

Hi Matthew,

many thanks! I've got a "distributed" setup working right now where I have Racket and the c client library running on my Mac, but it's good to know to be able to test on / switch to the complete CentOS setup as need arises.

Thanks again and have a nice weekend
Sigrid



Am 03.04.2011 um 01:57 schrieb Matthew Flatt:

> Most of those aren't used at all, and the others turn out to be easy to
> work around.
> 
> I've pushed changes to our source repo that make DrRacket start under a
> CentOS 5.5 virtual-machine installation.
> 
> At Tue, 29 Mar 2011 11:22:53 +0200, "keydana at gmx.de" wrote:
>> 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.