[racket] Racket 5.3.3 vs OpenBSD 5.3

From: Juan Francisco Cantero Hurtado (iam at juanfra.info)
Date: Mon Apr 1 19:11:49 EDT 2013

On 04/01/13 23:41, Matthew Flatt wrote:
> Thanks for tracking this down!
>
> Just to make sure, does `--enable-libffi' work for you? It should be
> the default, actually.

Yes, but I added -pthread to LDFLAGS. Otherwise, configure uses the 
internal copy of libffi.

I think that configure should stop if "--enable-libffi" is used and 
configure's tests fail. The current behavior is a little weird because 
users usually don't read the output of the build process and configure 
is ignoring their options.

>
> When I tried before, `configure' failed to use the installed libffi
> because `-pthread' is needed for linking, and it wasn't included in the
> result for `pkg-config libffi --libs'. (Possibly `configure' needs to
> be changed, instead of expecting `-pthread' back from `pkg-config'.)

Look https://github.com/atgreen/libffi/blob/master/libffi.pc.in . By 
default, "pkg-config libffi --libs" will never return "-pthread".

>
> At Mon, 01 Apr 2013 23:23:56 +0200, Juan Francisco Cantero Hurtado wrote:
>> On 03/31/13 00:16, Juan Francisco Cantero Hurtado wrote:
>>> On 03/30/13 17:22, Alexander Shendi wrote:
>>>> Hello
>>>>
>>>> I have problems compiling racket 5.3.3 under OpenBSD 5.3.
>>>> The platform is i386. Configure flags are: "--prefix=/usr/local
>>>> --disable-docs"
>>>> I have 2 GB of RAM. The cairo version installed is cairo-1.12.14.
>>>>
>>>> "gmake install" fails with the following error message:
>>>>
>>>> [output omitted]
>>>> raco setup:  in graphics/scribblings
>>>> raco setup: making: graphics/tests
>>>> raco setup:  in graphics/tests
>>>> raco setup: making: gui-debugger
>>>> raco setup:  in gui-debugger
>>>> Seg fault (internal error) at 0x6918246
>>>> Abort trap (core dumped)
>>>> gmake[1]: *** [install-3m] Error 134
>>>> gmake[1]: Leaving directory
>>>> `/home/alexshendi/sources/packages/racket-5.3.3/src/
>>>> build1'
>>>> gmake: *** [install] Error 2
>>>>
>>>> What could be the cause of this error?
>>>> racket-textual compiles w/o error.
>>>>
>>>> I need the full version of racket because I want to use
>>>> the new math library and typed racket.
>>>>
>>>> Any hints would be appreciated.
>>>
>>> Hi. I'm the maintainer of Racket on OpenBSD. It will be imported soon,
>>> be patient :) . You can download the port from
>>> github.com/jasperla/openbsd-wip or from ports@ mailing list (search
>>> "racket" in the archives).
>>>
>>> If you still wanting to compile racket from outside of ports, read the
>>> comments in the Makefile of the port.
>>>
>>> Your issue is a bug known of pixman on OpenBSD i386. I guess you can
>>> compile racket-textual because this doesn't compile "gui-debugger" or
>>> doesn't reach the broken part of pixman/cairo, I'm not sure. The bug is
>>> in a call to "sse2_composite_over_n_8_8888()" and
>>> "pixman_composite_glyphs_no_mask()".
>>>
>>> You have two options:
>>> - Use amd64. It works OK.
>>> - Compile pixman (xenocara/lib/pixman) on i386 with sse disabled.
>>>
>> http://juanfra.info/bugs-y-listas/pixman-racket-openbsd-i386-201303/pixman-witho
>> ut-sse-bug-racket-openbsd-i386.patch
>>> . "make obj", "make clean", "make depend", "make" and "make install".
>>> Racket works when pixman doesn't use sse.
>>>
>>
>> The cairo/pixman developers and me were wrong looking for the culprit.
>> The bug was in libffi, Mark Kettenis fixed it a few hours ago.
>>
>> So, forget my patch. Install "devel/libffi" and compile racket with the
>> option "--enable-libffi" or use the port. Probably the internal copy of
>> libffi of racket is broken.
>>
>> Let me know if you have more problems. Cheers.



Posted on the users mailing list.