Patching SheepShaver (ethernet)

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

Post Reply
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Patching SheepShaver (ethernet)

Post by ClockWise »

Cat_7 Suggests this much easier guide to patching up SheepShaver, for those of us with Linux inadequacies:

How to enable ethernet in SheepShaver:

If you want to follow this would-be guide to the letter use:

"/cvs/BasiliskII" for your BasiliskII files
"/cvs/SheepShaver" for your SheepShaver files
"/cvs/patches" for the files you are going to download

Follow Jackalo's guide to the point where you have downloaded the files from CVS, or in short:

make a directory "cvs" under "/"

"cd /cvs"

"cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs login"
(asks for password) anoncvs

"cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs checkout BasiliskII"
"cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs checkout SheepShaver"


Go to Gwenole's site
"http://gwenole.beauchesne.free.fr/sheepshaver/files"
and download the file "SheepShaver-2.2-hacks.patch" to "/cvs/patches"

Change to "http://gwenole.beauchesne.free.fr/sheepshaver/patches"
and download the file "sheep_ethernet.diff" to "/cvs/patches"

and then:

"cd /cvs/SheepShaver/src/" and type
"patch -p0 -i /cvs/patches/sheep_ethernet.diff"

result should be:
patching file ether.cpp
patching file Unix/Linux/ether_linux.cpp
patching file include/cpu_emulation.h
patching file include/ether_defs.h
patching file include/thunks.h
patching file kpx_cpu/sheepshaver_glue.cpp
Hunk #1 succeeded at 944 (offset 112 lines).

For the second patch things are a bit different, as it assumes SheepShaver is situated in a directory
"SheepShaver" just of the root directory. So in our little setup we need to apply the patch "manually":

"cd /cvs/SheepShaver/src"
"patch -p0 -i /cvs/patches/SheepShaver-2.2-hacks.patch"

result should be:
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- SheepShaver-2.2/src/Unix/main_unix.cpp.hacks 2004-01-06 11:15:16.000000000 +0100
|+++ SheepShaver-2.2/src/Unix/main_unix.cpp 2004-01-06 11:51:52.000000000 +0100
--------------------------
File to patch:

At this prompt you enter: "/cvs/SheepShaver/src/Unix/main_unix.cpp"
and hit "Enter"

Result should be:
patching file /cvs/SheepShaver/src/Unix/main_unix.cpp
Hunk #1 succeeded at 1913 (offset 65 lines).
can't find file to patch at input line 16
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- SheepShaver-2.2/src/rom_patches.cpp.hacks 2004-01-06 11:15:16.000000000 +0100
|+++ SheepShaver-2.2/src/rom_patches.cpp 2004-01-06 11:51:07.000000000 +0100
--------------------------
File to patch:

At this prompt you enter: "/cvs/SheepShaver/src/rom_patches.cpp"
and hit "Enter"

Result should be:
patching file /cvs/SheepShaver/src/rom_patches.cpp
Hunk #1 succeeded at 2316 (offset 12 lines).

Your done patching!

Just follow Jackalo's guide from here, but in short:

"cd /cvs/SheepShaver"
"make links"
"cd /src/Unix"
"./autogen.sh"
"make"
"./SheepShaver"

Hope this new description makes live easier....

Howards7/Cat_7

(parts of this description taken and adapted from Jackalo's build guide and a remark from rakslice about the "patch" command )

(edited - Feb 14)
Last edited by ClockWise on Mon Mar 29, 2004 7:05 pm, edited 2 times in total.
Gwenole

Post by Gwenole »

If you are inside the SheepShaver directory, patch -p1 will work, look at the -p option in man patch. ;-)
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Never too old to...

Post by Cat_7 »

learn. So now I finally understand the patch command.

Will this bring me to write yet another version of the patch-story....

Thanks
Cat_7
Guest

Post by Guest »

As far as the patching, if I am in /cvs what changes need to be made to the following commands to get things to work correctly?

mkdir patches
cd patches
wget http://gwenole.beauchesne.free.fr/sheep ... acks.patch
wget http://gwenole.beauchesne.free.fr/sheep ... ernet.diff
cd .../SheepShaver/src/
patch -p0 -i /cvs/patches/sheep_ethernet.diff
cd ..
patch -p1

(Jim W. posting under Mandrake 9.1)

Thank you.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

CVS download / Patch & run script for SheepShaver

Post by Cat_7 »

Hello,

**** Updated 24-02-2004 because the new build 2.2.10 no longer needs the hacks_patch
**** New build at
**** http://gwenole.beauchesne.free.fr/sheep ... 0.i586.rpm

Below my script for downloading from CVS, applying the ethernet_patch, compiling and running SheepShaver. It works just fine for me for creating a clean new build.

Just make shure you don't have a directory "/cvs" allready or remove the previous "/cvs" directory. You can allways adapt the script to use some other directories.

-Copy the lines below in a text file,
-Give the file some meaningfull name with the extension .sh
-Make the file executable
-Run in terminal window
-When asked for a password, enter "anoncvs"

****Start of script

mkdir /cvs
cd /cvs
mkdir patches

cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs login
cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs checkout BasiliskII
cvs -d :pserver:anoncvs@down.physik.uni-mainz.de:/cvs checkout SheepShaver

cd /cvs/patches

wget http://gwenole.beauchesne.free.fr/sheep ... ernet.diff

cd /cvs/SheepShaver/src/
patch -p0 -i /cvs/patches/sheep_ethernet.diff

cd /cvs/SheepShaver
make links
cd src/Unix
./autogen.sh
make
./SheepShaver

*****End of script

Have fun,

Cat_7
Last edited by Cat_7 on Tue Feb 24, 2004 7:01 pm, edited 1 time in total.
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

Thank you very much. I was working on my SheepShaver\Basilisk II script combo, but needed the exact patching commands.
ZOleg

Kernel 2.6.x and ethernet in SheepShaver

Post by ZOleg »

How to compile sheep_net driver with kernel 2.6.x?
And howto configure ethernet support in SheppShaver?
Please help me with this!!!!

Thank you!!!
User avatar
ClockWise
Site Admin
Posts: 4397
Joined: Mon May 20, 2002 4:37 am
Location: Uiwang

Post by ClockWise »

You should start by being more specific, and maybe posting in a new thread, or a pre-existing thread.

Like this one:

http://www.emaculation.com/phpBB/viewtopic.php?t=845

These two fellows suggest that what you are doing is not possible. But I don't know - I don't know anything about kernals.
ivanhasou

Post by ivanhasou »

When i try to compile it like the instructions say, i get this when i try to run make
(running on slackware 9.1: all packages installed)

g++ -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -c main_unix.cpp -o obj/main_unix.o
main_unix.cpp:110:22: vm_alloc.h: No such file or directory
main_unix.cpp:252: `XPRAM_SIZE' was not declared in this scope
main_unix.cpp: In function `int main(int, char**)':
main_unix.cpp:528: `vm_acquire_fixed' undeclared (first use this function)
main_unix.cpp:528: (Each undeclared identifier is reported only once for each
function it appears in.)
main_unix.cpp:672: `ADBInit' undeclared (first use this function)
main_unix.cpp:703: `VM_PAGE_READ' undeclared (first use this function)
main_unix.cpp:703: `VM_PAGE_EXECUTE' undeclared (first use this function)
main_unix.cpp:703: `vm_protect' undeclared (first use this function)
main_unix.cpp:776: `last_xpram' undeclared (first use this function)
main_unix.cpp:776: `XPRAM_SIZE' undeclared (first use this function)
main_unix.cpp: In function `void Quit()':
main_unix.cpp:923: `ADBExit' undeclared (first use this function)
main_unix.cpp:945: `vm_release' undeclared (first use this function)
make: *** [obj/main_unix.o] Error 1

any solution?
Post Reply