How to compile SheepShaver on RPi4?

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

Hi

Just registered on this forum, as I have a question regarding compilation of SheepShaver for the Raspberry Pi 4.
I have successfully compiled SheepShaver on a Raspberry Pi2+, on the newest version of Raspbian, and it runs and opens in RetroPie 4.7.1 by using xinit.

However I am unable to repeat this success on the RPi4. I DO get SheepShaver to compile, using the same steps, but execution of SheepShaver crashes RetroPie badly, blanking the screen and making it totally unresponsive. I belive that som running memory is being overwritten or something like that.

On the PRi2+ the following procedure works:

git clone https://github.com/cebix/macemu
(I did try the https://github.com/kanjitalk755/macemu fork, but have not had any luck compiling it)
sudo apt-get install build-essential git
sudo apt-get install libgtk2.0-dev x11proto-xf86dga-dev libesd0-dev libxxf86dga-dev libxxf86dga1 libsdl1.2-dev
cd SheepShaver/
make links
cd src/Unix/
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --with-gtk --enable-addressing=direct,0x10000000
make

As I said, this produces a nice running version of SheepShaver on RPi2+ (and most likely on RPi3 as well).

I understand that there are architectural differences between the to Raspberries, as it goes from 32-bit to 64-bit, and there are changes to the addressing-layout. So I suspect the direct addressing option has something to do with the problem, but that is as far as I've come. I haven't done any serious C/C++-programming for 20 years, so I am not really at home in the details of the art anymore.

Suggestions, anyone?

Thank you

Frank Carvalho
User avatar
adespoton
Forum All-Star
Posts: 4273
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: How to compile SheepShaver on RPi4?

Post by adespoton »

Frank Carvalho wrote: Mon Jan 18, 2021 11:40 am Hi

Just registered on this forum, as I have a question regarding compilation of SheepShaver for the Raspberry Pi 4.
I have successfully compiled SheepShaver on a Raspberry Pi2+, on the newest version of Raspbian, and it runs and opens in RetroPie 4.7.1 by using xinit.

However I am unable to repeat this success on the RPi4. I DO get SheepShaver to compile, using the same steps, but execution of SheepShaver crashes RetroPie badly, blanking the screen and making it totally unresponsive. I belive that som running memory is being overwritten or something like that.

On the PRi2+ the following procedure works:

git clone https://github.com/cebix/macemu
(I did try the https://github.com/kanjitalk755/macemu fork, but have not had any luck compiling it)
sudo apt-get install build-essential git
sudo apt-get install libgtk2.0-dev x11proto-xf86dga-dev libesd0-dev libxxf86dga-dev libxxf86dga1 libsdl1.2-dev
cd SheepShaver/
make links
cd src/Unix/
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --with-gtk --enable-addressing=direct,0x10000000
make

As I said, this produces a nice running version of SheepShaver on RPi2+ (and most likely on RPi3 as well).

I understand that there are architectural differences between the to Raspberries, as it goes from 32-bit to 64-bit, and there are changes to the addressing-layout. So I suspect the direct addressing option has something to do with the problem, but that is as far as I've come. I haven't done any serious C/C++-programming for 20 years, so I am not really at home in the details of the art anymore.

Suggestions, anyone?

Thank you

Frank Carvalho
I'd suggest trying further to get the kanjitalk755 fork working; it will require SDL2, but also has better success working with managing "direct" addressing. I'm unsure of how Raspbian handles address allocation though, so it may not be transparently re-allocating calls based at 0 -- which hasn't been an issue under 32-bit systems, but might result in exactly what you're experiencing here.
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

OK, thanks for the response. I'll see if I can figure out how to get the kanjitalk-fork working, once more.
The way I go about this, it to use my RPi2+ as a testing ground, where I can make mistakes and experiment, before I attempt compilation and installation on my Pi400. I only have the one, so I really don't want to mess my installation up. I could get another SD-card of course......
But this is also how I observed the difference between the two versions of the RPi.

/Frank
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

I tried the kanjitalk fork first on the RPi2+, with the standard compile instruction found in the README file. Compile is fine, but when I start, I get the Settings dialog, and upon "Start" the following:

Code: Select all

sudo xinit ./SheepShaver


X.Org X Server 1.20.4
X Protocol Version 11, Revision 0
Build Operating System: Linux 5.4.0-54-generic armv8l Raspbian
Current Operating System: Linux retropie 5.4.72-v7+ #1356 SMP Thu Oct 22 13:56:54 BST 2020 armv7l
Kernel command line: coherent_pool=1M snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_headphones=1 bcm2708_fb.fbwidth=1824 bcm2708_fb.fbheight=984 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000  console=ttyAMA0,115200 console=tty1 root=PARTUUID=1054d210-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0
Build Date: 01 December 2020  05:59:57PM
xorg-server 2:1.20.4-1+rpt2+deb10u2 (https://www.debian.org/support) 
Current version of pixman: 0.36.0
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed Jan 20 19:34:01 2021
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
SheepShaver V2.5 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot map Low Memory Globals: Invalid argument.
xinit: connection to X server lost

waiting for X server to shut down (II) Server terminated successfully (0). Closing log file.
I did add:

Code: Select all

echo "vm.mmap_min_addr = 0" >>/etc/sysctl.conf
and even a suggestion I found of adding:

Code: Select all

vm.map=0
So the low memory mapping is an issue on the RPi2+ with the default settings. Now I will try the options of the original instructions I tried.
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

I tried the original recipe for compile, with the

Code: Select all

./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --with-gtk --enable-addressing=direct,0x10000000
Starting the app behaves the same, only now it fails with :

Code: Select all

SheepShaver V2.5 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot map first Kernel Data area: Invalid argument.
... instead of the Low Memory message from before.
So I am going back to the vanilla configuration, which BTW outputs this during configure. Not sure if it sheds a light on the issue or not:

Code: Select all

checking how to disable position-independent code... cannot
checking whether __PAGEZERO can be Low Memory area 0x0000-0x3000... no
checking whether we can map Low Memory area 0x0000-0x3000... no
User avatar
Cat_7
Expert User
Posts: 6169
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: How to compile SheepShaver on RPi4?

Post by Cat_7 »

Hi,

Did you try to run SheepShaver as root? On my Fedora machine that gets me past the "cannot map" error.

Best,
Cat_7
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

Yes I did, and it still didn't get me past that error. Had to startx as root, and start SheepShaver from the initial Xterm, but alas, it still fails.
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

I do believe that I solved the problem!
I had to go with the cebix fork to make it work. Once again I followed the recipe above with the direct addressing. But this time I checked the items of

Code: Select all

sysctl -a
and I noticed that the vm.mmap_min_addr = 0 line wasn't there, even though it is in /etc/sysctl.conf. Aha! So after running sysctl -p it appears in the list, and now my PPC emulation finally starts on the RPi 400! So for some reason the /etc/sysctl.conf file is ignored at boot, and this is the real problem.
After doing this, I can now start SheepShaver with 512Mb RAM and boot with the proper disks and ROM in RetroPie 4.7.1, using this line:

Code: Select all

sudo xinit /home/pi/compile/macemu/ .......  /SheepShaver
As expected it runs fast and smooth on the RPi4.

I still haven't had any luck getting the kanjitalk branch to run, but I might now give it just another try.
Last edited by Frank Carvalho on Sat Feb 13, 2021 2:58 pm, edited 1 time in total.
Frank Carvalho
Student Driver
Posts: 24
Joined: Mon Jan 18, 2021 10:17 am

Re: How to compile SheepShaver on RPi4?

Post by Frank Carvalho »

Dang! This was so much the problem. After compiling the kanjitalk branch with direct addressing, it also boots!
So I will go with this branch in the future, as it is actively developed.
bitsplusatoms
Space Cadet
Posts: 2
Joined: Tue Jan 23, 2024 4:54 am

Re: How to compile SheepShaver on RPi4?

Post by bitsplusatoms »

I realize that this is an old thread, but it helped me so I thought I'd add my process. I was building SheepShaver on a Raspberry Pi 4 on the most recent 64-bit Bookworm (as of 2024-02-20). I was able to get it running with the following changes/additions:

I started by updating/upgrading with apt:

Code: Select all

sudo apt update
sudo apt upgrade
Then I installed SDL and GTK:

Code: Select all

sudo apt-get install libsdl2-dev
sudo apt-get install libgtk2.0-dev
I added a line to /etc/sysctl.conf:

Code: Select all

vm.mmap_min_addr = 0
Then updated using:

Code: Select all

sudo sysctl -p
Before configuring, I had to modify Makefile.in so that it could locate gtk. I changed this line:

Code: Select all

CFLAGS = @CFLAGS@
to

Code: Select all

CFLAGS = @CFLAGS@ `pkg-config --cflags gtk+-2.0`
Then I followed the build instructions in the readme, except I added an argument to the invocation of autogen.sh:

Code: Select all

./autogen.sh --enable-addressing=direct,0x10000000
After that I used the GUI to configure SheepShaver, and then I installed the OS and I was off and running. I am not running SheepShaver as root. I am using slirp as the network interface. Sound works (though not the boot chime).
mac1972
Space Cadet
Posts: 4
Joined: Sat Feb 24, 2024 3:22 pm

Re: How to compile SheepShaver on RPi4?

Post by mac1972 »

I am also trying to build SheepShaver on Raspberry Pi 4, Raspian Bookworm running from the console. (no desktop interface) I use the kanjitalk branch, but it won't build.
I have read all instructions but no luck...

When it starts running 'autoconf' it generates a lot of messages with: 'The macro ..... is obsolate.' ..... 'You should run autoupdate'

What am I doing wrong? This is the log of my build:

Code: Select all

pi@MacPi4:~/macemu/SheepShaver/src/Unix $ sudo ./autogen.sh &&
sudo ./configure --enable-sdl-audio \
            --enable-sdl-video \
            --enable-sdl-framework \
            --without-gtk \
            --without-mon \
            --without-esd \
            --enable-addressing=direct,0x10000000
 + Running aclocal: done.
 + Running autoheader: done.
 + Running autoconf: configure.ac:7: warning: The macro `AC_CONFIG_HEADER' is obsolete.
configure.ac:7: You should run autoupdate.
./lib/autoconf/status.m4:719: AC_CONFIG_HEADER is expanded from...
configure.ac:7: the top level
configure.ac:77: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:77: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:77: the top level
configure.ac:195: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:195: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:151: AC_CHECK_SDLFRAMEWORK is expanded from...
configure.ac:195: the top level
configure.ac:202: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:202: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:151: AC_CHECK_SDLFRAMEWORK is expanded from...
configure.ac:202: the top level
configure.ac:341: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:341: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
m4/gtk-2.0.m4:8: AM_PATH_GTK_2_0 is expanded from...
configure.ac:341: the top level
configure.ac:341: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:341: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
m4/gtk-2.0.m4:8: AM_PATH_GTK_2_0 is expanded from...
configure.ac:341: the top level
configure.ac:369: warning: The macro `AC_LANG_C' is obsolete.
configure.ac:369: You should run autoupdate.
./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
m4/esd.m4:10: AM_PATH_ESD is expanded from...
configure.ac:369: the top level
configure.ac:369: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:369: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
m4/esd.m4:10: AM_PATH_ESD is expanded from...
configure.ac:369: the top level
configure.ac:369: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:369: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
m4/esd.m4:10: AM_PATH_ESD is expanded from...
configure.ac:369: the top level
configure.ac:384: warning: The macro `AC_HEADER_STDC' is obsolete.
configure.ac:384: You should run autoupdate.
./lib/autoconf/headers.m4:704: AC_HEADER_STDC is expanded from...
configure.ac:384: the top level
configure.ac:418: warning: The macro `AC_TYPE_SIGNAL' is obsolete.
configure.ac:418: You should run autoupdate.
./lib/autoconf/types.m4:776: AC_TYPE_SIGNAL is expanded from...
configure.ac:418: the top level
configure.ac:419: warning: The macro `AC_HEADER_TIME' is obsolete.
configure.ac:419: You should run autoupdate.
./lib/autoconf/headers.m4:743: AC_HEADER_TIME is expanded from...
configure.ac:419: the top level
configure.ac:424: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:424: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:424: the top level
configure.ac:440: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:440: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:440: the top level
configure.ac:556: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:556: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:556: the top level
configure.ac:556: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:556: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:556: the top level
configure.ac:604: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:604: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:604: the top level
configure.ac:605: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:605: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:605: the top level
configure.ac:606: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:606: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:606: the top level
configure.ac:607: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:607: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:607: the top level
configure.ac:608: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:608: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:608: the top level
configure.ac:609: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:609: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:609: the top level
configure.ac:610: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:610: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:610: the top level
configure.ac:611: warning: The macro `AC_TRY_LINK' is obsolete.
configure.ac:611: You should run autoupdate.
./lib/autoconf/general.m4:2920: AC_TRY_LINK is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:586: AC_CHECK_FRAMEWORK is expanded from...
configure.ac:611: the top level
configure.ac:676: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:676: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
configure.ac:676: the top level
configure.ac:799: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:799: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:799: the top level
configure.ac:836: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:836: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:836: the top level
configure.ac:836: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:836: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:836: the top level
configure.ac:892: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:892: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:892: the top level
configure.ac:892: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:892: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:892: the top level
configure.ac:911: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:911: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:911: the top level
configure.ac:911: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:911: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:911: the top level
configure.ac:930: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:930: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:930: the top level
configure.ac:930: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:930: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:930: the top level
configure.ac:984: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:984: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:984: the top level
configure.ac:984: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:984: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:984: the top level
configure.ac:1011: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1011: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1011: the top level
configure.ac:1011: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1011: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1011: the top level
configure.ac:1045: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1045: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1045: the top level
configure.ac:1045: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1045: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1045: the top level
configure.ac:1070: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1070: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1070: the top level
configure.ac:1070: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1070: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1070: the top level
configure.ac:1095: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1095: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1095: the top level
configure.ac:1095: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1095: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1095: the top level
configure.ac:1122: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1122: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1122: the top level
configure.ac:1122: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1122: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1122: the top level
configure.ac:1147: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1147: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1147: the top level
configure.ac:1147: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1147: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1147: the top level
configure.ac:1197: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1197: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
configure.ac:1197: the top level
configure.ac:1412: warning: The macro `AC_LANG_C' is obsolete.
configure.ac:1412: You should run autoupdate.
./lib/autoconf/c.m4:72: AC_LANG_C is expanded from...
configure.ac:1289: gcc_AC_EXAMINE_OBJECT is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1329: gcc_AC_C_FLOAT_FORMAT is expanded from...
configure.ac:1412: the top level
configure.ac:1487: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:1487: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1487: the top level
configure.ac:1501: warning: The macro `AC_TRY_COMPILE' is obsolete.
configure.ac:1501: You should run autoupdate.
./lib/autoconf/general.m4:2847: AC_TRY_COMPILE is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1501: the top level
configure.ac:1665: warning: The macro `AC_LANG_CPLUSPLUS' is obsolete.
configure.ac:1665: You should run autoupdate.
./lib/autoconf/c.m4:262: AC_LANG_CPLUSPLUS is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1665: the top level
configure.ac:1665: warning: The macro `AC_TRY_RUN' is obsolete.
configure.ac:1665: You should run autoupdate.
./lib/autoconf/general.m4:2997: AC_TRY_RUN is expanded from...
lib/m4sugar/m4sh.m4:692: _AS_IF_ELSE is expanded from...
lib/m4sugar/m4sh.m4:699: AS_IF is expanded from...
./lib/autoconf/general.m4:2249: AC_CACHE_VAL is expanded from...
./lib/autoconf/general.m4:2270: AC_CACHE_CHECK is expanded from...
configure.ac:1665: the top level
configure.ac:1701: warning: AC_OUTPUT should be used without arguments.
configure.ac:1701: You should run autoupdate.
done.
 + Running 'configure ':
   ** If you wish to pass arguments to ./configure, please
   ** specify them on the command line.
checking build system type... aarch64-unknown-linux-gnu
checking host system type... aarch64-unknown-linux-gnu
checking target system type... aarch64-unknown-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether the compiler supports GNU C++... yes
checking whether g++ accepts -g... yes
checking for g++ option to enable C++11 features... none needed
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for file... /usr/bin/file
checking for perl... /usr/bin/perl
checking for PowerPC target CPU... no
checking for sem_init in -lposix4... no
checking for cos in -lm... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for sdl2 >= 2.0... yes
checking for pthread_create in -lpthread... yes
checking for pthread_cancel... yes
checking for pthread_cond_init... yes
checking for pthread_testcancel... yes
checking for pthread_mutexattr_setprotocol... yes
checking for pthread_mutexattr_settype... yes
checking for pthread_mutexattr_setpshared... yes
checking for sem_init... yes
checking for pkg-config... /usr/bin/pkg-config
checking for GTK+ - version >= 2.6.4... no
*** Could not run GTK+ test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GTK+ is incorrectly installed.
configure: WARNING: Could not find GTK+ 2, disabling user interface.
checking for esd-config... no
checking for ESD - version >= 0.2.8... no
*** The esd-config script installed by ESD could not be found
*** If ESD was installed in PREFIX, make sure PREFIX/bin is in
*** your path, or set the ESD_CONFIG environment variable to the
*** full path to esd-config.
configure: WARNING: Could not find ESD, disabling ESD support.
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking for egrep... (cached) /usr/bin/grep -E
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for malloc.h... yes
checking for stdint.h... yes
checking for mach/vm_map.h... no
checking for mach/mach_init.h... no
checking for sys/mman.h... yes
checking for unistd.h... yes
checking for fcntl.h... yes
checking for byteswap.h... yes
checking for dirent.h... yes
checking for sys/socket.h... yes
checking for sys/ioctl.h... yes
checking for sys/filio.h... no
checking for sys/bitypes.h... yes
checking for sys/wait.h... (cached) yes
checking for sys/time.h... yes
checking for sys/poll.h... yes
checking for sys/select.h... yes
checking for arpa/inet.h... yes
checking for netinet/in.h... yes
checking for linux/if.h... yes
checking for linux/if_tun.h... yes
checking for net/if.h... yes
checking for net/if_tun.h... no
checking for AvailabilityMacros.h... no
checking for IOKit/storage/IOBlockStorageDevice.h... no
checking for fenv.h... yes
checking for sys/stropts.h... no
checking for stropts.h... no
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking size of void *... 4
checking for off_t... yes
checking for loff_t... no
checking for size_t... yes
checking return type of signal handlers... void
checking whether struct tm is in sys/time.h or time.h... time.h
checking for socklen_t... yes
checking whether struct sigaction has sa_restorer... yes
checking for strdup... yes
checking for strerror... yes
checking for strlcpy... no
checking for cfmakeraw... yes
checking for nanosleep... yes
checking for sigaction... yes
checking for signal... yes
checking for mmap... yes
checking for mprotect... yes
checking for munmap... yes
checking for vm_allocate... no
checking for vm_deallocate... no
checking for vm_protect... no
checking for exp2f... yes
checking for log2f... yes
checking for exp2... yes
checking for log2... yes
checking for floorf... yes
checking for roundf... yes
checking for ceilf... yes
checking for truncf... yes
checking for floor... yes
checking for round... yes
checking for ceil... yes
checking for trunc... yes
checking for poll... yes
checking for inet_aton... yes
checking for mach_task_self... no
checking for task_self... no
checking for library containing clock_gettime... none required
checking for clock_gettime... yes
checking for clock_nanosleep... yes
checking for strings.h... yes
checking for login.h... no
checking for sys/bsdtty.h... no
checking for sys/stat.h... yes
checking for util.h... no
checking for pty.h... yes
checking for _getpty... no
checking for vhangup... yes
checking for strlcpy... (cached) no
checking for /dev/ptc... no
checking FIONBIO vs. O_NONBLOCK for non-blocking I/O... O_NONBLOCK
checking whether compiler supports byte bit-fields... yes
checking whether compiler supports framework Carbon... no
checking whether compiler supports framework IOKit... no
checking whether compiler supports framework CoreFoundation... no
checking whether compiler supports framework CoreAudio... no
checking whether compiler supports framework AudioUnit... no
checking whether compiler supports framework AudioToolbox... no
checking whether compiler supports framework AppKit... no
checking whether compiler supports framework Metal... no
checking whether TUN/TAP is supported... yes
checking whether mmap supports MAP_ANON... yes
checking whether mmap supports MAP_ANONYMOUS... yes
checking whether mprotect works... yes
checking whether __PAGEZERO can be Low Memory area 0x0000-0x3000... no
checking whether signal handlers need to be reinstalled... no
checking whether sigaction handlers need to be reinstalled... no
checking whether your system supports Mach exceptions... no
checking whether your system supports Windows exceptions... no
checking whether your system supports extended signal handlers... yes
checking whether we can skip instruction in SIGSEGV handler... yes
checking for addressing mode to use... real
checking floating point format... IEEE (little-endian)
checking for true... /usr/bin/true
checking for GCC 2.7 or higher... yes
checking for GCC 3.0 or higher... yes
checking for GCC 4.0 or higher... yes
checking for ICC... no
checking the format of compiler generated objects... elf
checking whether the compiler supports -fno-strict-aliasing... yes
checking whether the compiler supports -mdynamic-no-pic... no
checking whether dyngen can be used... no
configure: creating ./config.status
config.status: creating Makefile
config.status: WARNING:  'Makefile.in' seems to ignore the --datarootdir setting
config.status: creating ../MacOSX/Info.plist
config.status: creating config.h

SheepShaver configuration summary:

SDL support ...................... : video audio
SDL major-version ................ : 2
BINCUE support ................... : no
LIBVHD support ................... : no
FBDev DGA support ................ : no
XFree86 DGA support .............. : no
XFree86 VidMode support .......... : no
Using PowerPC emulator ........... : yes
Enable JIT compiler .............. : no
Enable video on SEGV signals ..... : no
ESD sound support ................ : no
GTK user interface ............... : no
mon debugger support ............. : no
Addressing mode .................. : direct,0x10000000
Bad memory access recovery type .. : siginfo

Configuration done. Now type "make".

pi@MacPi4:~/macemu/SheepShaver/src/Unix $ sudo make
g++ -I../kpx_cpu/include -I../kpx_cpu/src -I../include -I. -I../CrossPlatform -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/usr/local/include/SDL2 -D_REENTRANT   -c ../rom_patches.cpp -o obj/rom_patches.o
In file included from ./sysdeps.h:36,
                 from ../rom_patches.cpp:29:
/usr/include/arm-linux-gnueabihf/sys/types.h:85:17: error: conflicting declaration 'typedef __off_t off_t'
   85 | typedef __off_t off_t;
      |                 ^~~~~
In file included from ./sysdeps.h:28:
./config.h:533:16: note: previous declaration as 'typedef __loff_t off_t'
  533 | #define loff_t off_t
      |                ^~~~~
./sysdeps.h: In function 'int testandset(volatile int*)':
./sysdeps.h:365:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  365 |         register unsigned int ret;
      |                               ^~~
make: *** [Makefile:202: obj/rom_patches.o] Error 1
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

I had success with these commands:

Code: Select all

sudo apt update
sudo apt upgrade -y
sudo apt install git libsdl2* automake libmpc-dev -y

git clone https://github.com/kanjitalk755/macemu.git
cd ~/macemu/BasiliskII/src/Unix

sudo nano ether_unix.cpp
jump to line 324 and remove

Code: Select all

}

        // Don't raise SIGPIPE, let errno be set to EPIPE
        struct sigaction sigpipe_sa;
        if (sigaction(SIGPIPE, NULL, &sigpipe_sa) == 0) {
                assert(sigpipe_sa.sa_handler == SIG_DFL || sigpipe_sa.sa_handler == SIG_IGN);
                sigfillset(&sigpipe_sa.sa_mask);
                sigpipe_sa.sa_flags = 0;
                sigpipe_sa.sa_handler = SIG_IGN;
                sigaction(SIGPIPE, &sigpipe_sa, NULL);

Code: Select all

cd ~/macemu/BasiliskII/src/SDL

sudo nano SDLMain.m
change SDL.h to SDL2/SDL.h after #include

Code: Select all

cd ~/macemu/SheepShaver/src/Unix
NO_CONFIGURE=1 ./autogen.sh
./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --enable-addressing=direct,0x10000000
sudo make install
mac1972
Space Cadet
Posts: 4
Joined: Sat Feb 24, 2024 3:22 pm

Re: How to compile SheepShaver on RPi4?

Post by mac1972 »

I have followed your commands, but still no luck:
It stops with:

Code: Select all

In file included from ./sysdeps.h:28:
./config.h:533:16: note: previous declaration as 'typedef __loff_t off_t'
  533 | #define loff_t off_t
      |                ^~~~~
./sysdeps.h: In function 'int testandset(volatile int*)':
./sysdeps.h:365:31: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  365 |         register unsigned int ret;
      |                               ^~~
make: *** [Makefile:202: obj/rom_patches.o] Error 1
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

Had you started from a blank installation of Raspberry OS (lite)? The latest? Bookworm?

This is my reference. I'd installed the Raspberry OS lite image (64bit as I remember) on Raspberry Pi 4 and installed SheepShaver (and Basilisk II) with the steps above (multiple times to create the tutorial)
mac1972
Space Cadet
Posts: 4
Joined: Sat Feb 24, 2024 3:22 pm

Re: How to compile SheepShaver on RPi4?

Post by mac1972 »

You are totaly right. I didn't use the last Raspberry Pi OS image. Now it is working. You are a hero! :lol:
It is also working on the Raspberry Pi 5!
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

How fast is it on Raspberry Pi 5?

And can you please test Age of Empires 2 on SheepShaver? I didn‘t get it running on Raspi 4. On macOS no problem.
mac1972
Space Cadet
Posts: 4
Joined: Sat Feb 24, 2024 3:22 pm

Re: How to compile SheepShaver on RPi4?

Post by mac1972 »

This is a test with Speedometer 4.02 in 'native' ppc mode on MacOS 9.04.

RaspberryPi 4
CPU: 5.44
Graf: 3.22
Disk: 3.08
Math: 690.42
PR: 4.32

RaspberryPi 5
CPU: 11.75
Graf: 7.89
Disk: 4.91
Math: 1957.2
PR: 8.86

It's very fast in comparison to the RPi4.

I have tested Age of Empires 2, after the second intro movie the game freezes with a black screen...
On my normal Mac it works without a problem.
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

Thanks. This is that what I see also.

Maybe I test it with the SDL1.2 version of SheepShaver from the CEBIX fork
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

@kanjitalk755

As I can't compile the CEBIX fork of SheepShaver on 64bit Raspberry OS, could you please have a look at the problem with Age of Empires II on Raspberry Pi?
shaitan
Space Cadet
Posts: 4
Joined: Sun Mar 17, 2024 11:10 pm

Re: How to compile SheepShaver on RPi4?

Post by shaitan »

nexusle wrote: Thu Mar 07, 2024 7:10 am I had success with these commands:
<snip>
I'm trying to get sheepshaver running on my rpi5 and after following these steps I am getting this error when running configure:

configure: error: could not determine a sensible NATMEM_OFFSET value

I ran configure with this

Code: Select all

./configure --enable-addressing=direct,0x10000000
Also this:

Code: Select all

./configure --enable-sdl-video --enable-sdl-audio --disable-vosf --disable-jit-compiler --enable-addressing=direct,0x10000000
I just grabbed the latest 64 bit Bookworm earlier today, Lite with no desktop env. I did have to also install xinit but maybe I am missing something else?

I am able to build successfully and get the configuration gui to startup when I don't have the addressing flag set during configure. It segfaults when trying to start, which I would suppose is expected considering it was using "real" as the addressing mode?

results of sudo sysctl -p look correct:

vm.mmap_min_addr = 0

One thing I am doing and maybe this is a difference is that I'm configuring and building over ssh before launching sheepshaver locally. I don't know why that would cause any differences but I did want to make note of that.

edit: I did just try running configure locally and got the same NATMEM_OFFSET error so I'm thinking it's not that.

edit2: I was able to get it to compile! I edited configure.ac and forced the values for NATMEM_OFFSET in lines 1250/1252 to be 0x10000000 and that did it. I'm not sure why it wasn't passing those values in, anyone know what I might have done to mess that up?
Last edited by shaitan on Mon Mar 18, 2024 9:36 pm, edited 3 times in total.
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

Can‘t test this until tomorrow. Pi5 will arrive tomorrow.
shaitan
Space Cadet
Posts: 4
Joined: Sun Mar 17, 2024 11:10 pm

Re: How to compile SheepShaver on RPi4?

Post by shaitan »

nexusle wrote: Fri Mar 22, 2024 6:58 pm Can‘t test this until tomorrow. Pi5 will arrive tomorrow.
I was able to repeat this using the full desktop version of Bookworm as well, still had to edit the configure.ac file manually but once I got past that everything does seem to be running smooth.
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

Ok, some strange things happen with SheepShaver sources. Basilisk build just fine. I can build SheepShaver (with or without the addressing flag), but it crashes with "ERROR: Could not initialize SDL: x11 not available.".

This should not interesting. Configure output says "no X11"

Code: Select all

SheepShaver configuration summary:

SDL support ...................... : video audio
SDL major-version ................ : 2
BINCUE support ................... : no
LIBVHD support ................... : no
FBDev DGA support ................ : no
XFree86 DGA support .............. : no
XFree86 VidMode support .......... : no
Using PowerPC emulator ........... : yes
Enable JIT compiler .............. : no
Enable video on SEGV signals ..... : no
ESD sound support ................ : no
GTK user interface ............... : no
mon debugger support ............. : no
Addressing mode .................. : real
Bad memory access recovery type .. : siginfo
Strange. No problems with the build strings on Raspberry Pi 4...
shaitan
Space Cadet
Posts: 4
Joined: Sun Mar 17, 2024 11:10 pm

Re: How to compile SheepShaver on RPi4?

Post by shaitan »

nexusle wrote: Sun Mar 24, 2024 9:23 pm Ok, some strange things happen with SheepShaver sources. Basilisk build just fine. I can build SheepShaver (with or without the addressing flag), but it crashes with "ERROR: Could not initialize SDL: x11 not available.".

This should not interesting. Configure output says "no X11"
I had this same issue when I installed it using the Lite, minimal, install of RaspberryOS and I ended up having to install xinit separately. Unfortunately my experience running linux without a window manager is minimal and so I re-started fresh with the full desktop install of RaspberryOS once I got past my earlier build issues.
nexusle
Student Driver
Posts: 14
Joined: Wed Aug 13, 2014 5:37 am

Re: How to compile SheepShaver on RPi4?

Post by nexusle »

Today kanjitalk755 committed a change to "main_unix.cpp" which let SheepShaver build and later run on a system without Xorg installed *thumbs up*
Post Reply