[racket] Racket on Centos 5

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat Apr 2 19:57:05 EDT 2011

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.