I'd like to use Racket on OpenBSD, but I'm having trouble getting it to compile. I'm working with a stock OpenBSD 6.2 and Racket version 6.12, but the compilation error I've found can be reproduced on several other earlier versions (I tried going back to 6.5). The error arises both with clang and with gcc. I'm working with racket-6.12-src-builtpkgs.tgz (not racket-6.12-src.tgz). The error happens like this:
$ mkdir build
$ cd build
$ ../configure --prefix=/usr/local
[omitting configure output]
$ make
[ omitting lots of output, including some warnings]
ranlib libracket.a
make racketcgc
gcc -I. -I../../racket/include -Wall -g -O2 -pthread -I/usr/local/include -DUSE_SENORA_GC -DINITIAL_COLLECTS_DIRECTORY='"'"`cd ../../racket/../../collects; pwd`"'"' -DINITIAL_CONFIG_DIRECTORY='"'"`cd ../../racket/../..; pwd`/etc"'"' -c ../../racket/main.c -o main.o
gcc -o racketcgc main.o libracket.a libmzgc.a ../rktio/librktio.a -pthread -lm -Wl,--export-dynamic -L/usr/local/lib -pthread -lffi
libracket.a(error.o): In function `make_arity_expect_string':
../../../racket/src/error.c:1432: warning: warning: strcpy() is almost always misused, please use strlcpy()
libracket.a(env.o): In function `local_context':
../../../racket/src/env.c:2429: warning: warning: sprintf() is often misused, please use snprintf()
make mzcomcgc
:
make sysinfercgc
./racketcgc -cqu ../../racket/mksystem.rkt system.rktd "gcc -E -I. -I../../racket/include -I../../racket/src -g -O2 -pthread -I/usr/local/include -DUSE_SENORA_GC ../../racket/src/systype.c" "" "./racketcgc" "./racketcgc"
*** Signal SIGSEGV in racket (Makefile:171 'sysinfercgc')
*** Error 1 in racket (Makefile:93 'cgc')
*** Error 1 in racket (Makefile:103 '3m')
*** Error 1 in . (Makefile:58 '3m')
*** Error 1 in /home/vagrant/src/racket/racket-6.12/src/build (Makefile:51 'all')
I can give more output, such as the warnings alluded to above. But before going into detail, I thought I'd ask a more basic question: is OpenBSD on the radar as one of the OSs to support? If not, that's fine (for me, anyway); I'll stop trying to get it to work. But if supporting OpenBSD is intended, then perhaps we can dig into this problem.
(For what it's worth, I've also tried using the latest Racket 7 on OpenBSD, to no avail; the error message is, understandably, different and occurs at a different place.)
Thanks,
Jesse