[Vm-dev] Porting to Alpine Linux aarch64 Raspberry Pi 3B

ken.dickey at whidbey.com ken.dickey at whidbey.com
Wed Dec 4 21:40:41 UTC 2019


Hey, I can play Solitaire in Cuis!  ;^)

OK. The details and the breakage.

===================
[1] Basics working:
===================

I commented out (via #ifndef MUSL) the refs to FILE in 
Cross/vm/sqVirtualMachine.c and added empty {push,pop}OutputFile() funs 
to unix/vm/sqUnixMain.c.

For musl:

I added -DGNU_SOURCE to CFLAGS in 
build.linux64ARMv8/squeak.stack.spur/build/mvm

I changed the call of getwd() to getcwd() in 
securityPlugin/sqUnixSecurity.c

============
[2] Breakage
============

The squeak script reports /lib/ld-musl-aarch64.so.1: cannot load 
/usr/local/bin/lib/squeak/5*..*/squeak

[but the lib/squeak/5*/squeak executable works fine]

Also, there is a problem with floats.  SmallInteger 0.0 does not print 
well.  Scaled is '000.0' and ulp leads to nextTowardZero -> "Error: Not 
for zero values"

Musl is a bit different from glibc in numeric rounding and does not 
signal float errors.

===

So. Some work to do here, but basic image is running!

Thanks again to all!
-KenD



More information about the Vm-dev mailing list