Which model Pi are you using? I'm able to build on a Pi 3, so I wonder
if it's a difference in processors, where the Arm32 backend is using
something that it shouldn't.
Whether or not that guess is right, can you try running `gdb` in the
"ChezScheme" directory like this?
env SCHEMEHEAPDIRS=tarm32le/boot/tarm32le/ \
gdb tarm32le/bin/tarm32le/scheme
Disassembling around the failed instruction address (with `disassemble`
in gdb) should clarify what instruction is misused.
Thanks,
Matthew
At Tue, 11 Aug 2020 10:58:03 -0700 (PDT), Joey Eremondi wrote:
> I'm wondering, does anybody have any prebuilt 32-but ARM binaries for
> Racket on Chez? I'm trying to run a little web-server on a raspberry pi,
> and I'd prefer to use the Chez version, but I can't seem to get it to build.
>
> Alternately, if anybody knows why it won't build and can help, that would
> help. With eiether --enable-csracket or --enable-csonly, it gets stuck
> compiling the forked version of ChezScheme. Surprisingly, it doesn't seem
> to be an out of memory error. Is the illegal instruction error because it's
> ARMv6 and not AArch32?
>
> ...
> gcc -Wpointer-arith -Wextra -Werror -Wno-implicit-fallthrough -O2 -g -O2 -
> Wall -DELF_FIND_BOOT_SECTION -pthread -rdynamic -o ../bin/tarm32le/scheme
> ../boot/tarm32le/main.o ../boot/tarm32le/libkernel.a -lm -ldl -lpthread -lrt
> -luuid ../zlib/libz.a ../lz4/lib/liblz4.a -pthread
> (cd s && make bootstrap)
> make allx
> rm -f *.tarm32le xpatch patch *.patch *.so *.covin *.asm script.all
> header.tmp
> *.html
> rm -rf nanopass
> cp -p -f ../boot/tarm32le/petite.boot ../boot/tarm32le/sbb
> cp -p -f ../boot/tarm32le/scheme.boot ../boot/tarm32le/scb
> make all
> echo '(reset-handler abort)'\
> '(base-exception-handler (lambda (c) (fresh-line)
> (display-condition c) (newline) (reset)))'\
> '(keyboard-interrupt-handler (lambda () (display
> "interrupted---aborting\n") (reset)))'\
> '(optimize-level 3)'\
> '(debug-level 0)'\
> '(commonization-level (commonization-level))'\
> '(compile-compressed #t)'\
> '(compress-format (compress-format))'\
> '(compress-level (compress-level))'\
> '(generate-inspector-information #f)'\
> '(subset-mode (quote system))'\
> '(compile-file "cmacros.ss" "cmacros.so")'\
> | ../bin/tarm32le/scheme -q
> Error: illegal instruction
> ()
> make[10]: *** [Mf-base:375: cmacros.so] Error 1
> make[9]: *** [Mf-base:179: allx] Error 2
> make[8]: *** [Mf-base:196: bootstrap] Error 2
> make[7]: *** [Makefile:22: build] Error 2
> make[6]: *** [Makefile:20: build] Error 2
> make[6]: Leaving directory '/home/pi/gh/racket-7.8/src/ChezScheme'
> make[5]: *** [Makefile:158: scheme-make-finish] Error 2
> make[5]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c'
> make[4]: *** [Makefile:148: scheme-make-copy] Error 2
> make[4]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c'
> make[3]: *** [Makefile:137: scheme] Error 2
> make[3]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c'
> make[2]: *** [Makefile:60: cs] Error 2
> make[2]: Leaving directory '/home/pi/gh/racket-7.8/src/cs/c'
> make[1]: *** [Makefile:90: racketcs] Error 2
> make[1]: Leaving directory '/home/pi/gh/racket-7.8/src'
> make: *** [Makefile:53: all] Error 2
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/racket-users/9b0c4921-2155-4f63-bb79-a6b9ea05
> 8ef6o%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/racket-users/20200811151422.12%40sirmail.smtps.cs.utah.edu.