SheepShaver on Raspberry PI arm64 or Docker armhf

About unsupported SheepShaver configurations, like COI (Chubby Bunny), SheepShaver Wrapper, etc.

Moderators: Cat_7, Ronald P. Regensburg

Post Reply
mikesuch
Space Cadet
Posts: 4
Joined: Sat Mar 12, 2022 7:08 pm

SheepShaver on Raspberry PI arm64 or Docker armhf

Post by mikesuch »

Hi!

I've been trying, unsucessfully so far, to run SheepShaver on my new Raspberry Pi 4 running the new 64 bit OS. The available binaries seem to be ARM and won't run on the 64 bit even though I enabled multi-architecture. I then tried and armhf docr conatiner that actually ran the sheepshaver binary and the configuration gui comes up but when you try to start it in says 'reading rom' the tries to open a window but closes immediately with an "illegal instruction' and core. here's the output:

SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig

(SheepShaver:7): Gtk-WARNING **: 19:11:47.146: Cannot parse integer value “win/800/600” for --screen

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.203: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.203: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.203: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.203: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.204: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.204: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.204: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.204: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.204: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.205: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.206: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.207: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.208: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:11:47.209: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:12:14.524: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): Gtk-CRITICAL **: 19:12:14.525: _gtk_accel_map_remove_group: assertion 'entry != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:12:14.526: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): Gtk-CRITICAL **: 19:12:14.526: _gtk_accel_map_remove_group: assertion 'entry != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:12:14.526: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): Gtk-CRITICAL **: 19:12:14.527: _gtk_accel_map_remove_group: assertion 'entry != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:12:14.527: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): Gtk-CRITICAL **: 19:12:14.527: _gtk_accel_map_remove_group: assertion 'entry != NULL' failed

(SheepShaver:7): GLib-CRITICAL **: 19:12:14.528: g_hash_table_lookup: assertion 'hash_table != NULL' failed

(SheepShaver:7): Gtk-CRITICAL **: 19:12:14.528: _gtk_accel_map_remove_group: assertion 'entry != NULL' failed
Reading ROM file...
WARNING: Cannot open /dev/cdrom (No such file or directory)
WARNING: Cannot open /dev/mixer (Connection refused)
WARNING: Cannot open /dev/dsp (Connection refused)
WARNING: No audio device found, audio output will be disabled.
PowerPC CPU emulator by Gwenole Beauchesne
/start-sheepshaver: line 12: 7 Illegal instruction (core dumped) padsp ./SheepShaver --rom $SS_ROM --disk $SS_DISK --extfs /shared --ramsize $SS_RAM --screen win/$SS_WIDTH/$SS_HEIGHT --ether $SS_NET --jit $SS_JIT --nogui $SS_NO_GUI --ignoresegv true --ignoreillegal true

Appreciate any advice!

Mike
mikesuch
Space Cadet
Posts: 4
Joined: Sat Mar 12, 2022 7:08 pm

Re: SheepShaver on Raspberry PI arm64 or Docker armhf

Post by mikesuch »

Quick update:

I rebuilt the docker image to clear out any parameters (just running "SheepShaver"). When the config screen comes up I disabled everything: no audio, no cdrom, no serial/network no quickdraw acceleration. just hard disk image and rom file chosen. start button pushed and get the below:

SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig
Reading ROM file...
PowerPC CPU emulator by Gwenole Beauchesne
/start-sheepshaver: line 2: 8 Illegal instruction (core dumped) ./SheepShaver


also note the EXACT same rom and HD image files copied to my PC run fine with the windows version of SheepShaver.

I got the sheepshaver binary from this article:
https://www.novaspirit.com/2017/04/13/r ... pberry-pi/
mikesuch
Space Cadet
Posts: 4
Joined: Sat Mar 12, 2022 7:08 pm

Re: SheepShaver on Raspberry PI arm64 or Docker armhf

Post by mikesuch »

Wow, figured out how to read the core I think... here's the output:

<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./SheepShaver...

warning: Can't open file /SYSV00000000 (deleted) during file-backed mapping note processing
[New LWP 7112]
[New LWP 7110]
[New LWP 7111]
[New LWP 7114]
[New LWP 7113]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
--Type <RET> for more, q to quit, c to continue without paging--
Core was generated by `./SheepShaver'.
Program terminated with signal SIGILL, Illegal instruction.
#0 0x0001ef9c in testandset (p=0xa7cdc <atomic_ops_lock>) at sysdeps.h:360
360 sysdeps.h: No such file or directory.
[Current thread is 1 (Thread 0xf48dc1c0 (LWP 7112))]
(gdb)
User avatar
adespoton
Forum All-Star
Posts: 4208
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: SheepShaver on Raspberry PI arm64 or Docker armhf

Post by adespoton »

A core dump is much easier to read when you've got embedded debug symbols :)

But the last time I read progress, there were some issues between the SS code and RPi4; RPi3 had no issues -- there's a few library changes that are significant, I believe. And now you've moved to the new Raspbian 64-bit, which is going to be even more different.
mikesuch
Space Cadet
Posts: 4
Joined: Sat Mar 12, 2022 7:08 pm

Re: SheepShaver on Raspberry PI arm64 or Docker armhf

Post by mikesuch »

Thanks for the reply, after looking at what was involved and the fact that it’s been 20 years since I wrote any c code, I scrapped it and got it working under qemu. No sound but everything else is working. If anyone wants to take a crack at adding arm64 (pi not Mac) to sheepshaver I’ll be happy to test it :)
Post Reply