[racket] Racket 5.3.3 vs OpenBSD 5.3

From: Juan Francisco Cantero Hurtado (iam at juanfra.info)
Date: Mon Apr 1 17:23:56 EDT 2013

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-without-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.