Building SheepShaver x86 Linux

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

Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Building SheepShaver x86 Linux

Post by Mac Emu »

If you are just a Linux newbie, you really need to spend a lot of time learning the fundamentals of the OS if you hope to use it to run SheepShaver.

I myself am a Linux newbie, but have picked up a little skill while using it off & on the last few years. Linux is definitely not as user friendly as Windows or Mac OS, but I believe it represents the future of OS use worldwide as Microsoft's power overseas diminishes.

Anyway, here's a quick unillustrated guide by Jackalo on how to make the SheepShaver binary. For best results, use a recent Linux distro (like RedHat 7.2, Mandrake 9.1+) and install all the development and Gnome packages to prevent aclocal errors when building...

*****
Jackalo's "Unofficial SheepShaver Building Guide"

*****

Situate yourself in a directory from your flavor of Linux that you want to hold the SheepShaver files. In my case, I used "cd /home/jackalo". After that, you need to establish a connection with Gwenole's CVS server. The following commands will provide a login and then a clean download of the files that you need. You do need to type them out fully, as I have yet to figure out how to set the CVSROOT variable.

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

Next, you need to browse to the SheepShaver directory and run the Makefile there to create links to the BasiliskII source files required to build SheepShaver. Use the following commands to do that.

cd SheepShaver
make links

After that finishes, you now need to browse into the src/Unix directory, and then execute autogen.sh to create the necessary makefile dependant upon your system. Use the following commands for that.

cd src/Unix
./autogen.sh

After that finishes, it'll tell you to type "make". Well, do what the doctor orders.

make

If things go alright, you should have a compiled version of SheepShaver glaring at you with it's beady little eye. Execute the file to launch it's configurations dialog.

./SheepShaver

Configure what you will, and make sure to set the ROM name on the fourth tab. You might as well disable sound on the second tab, and clear the Ethernet box on the third tab.
Last edited by Mac Emu on Thu Dec 18, 2003 12:53 pm, edited 1 time in total.
Guest

Post by Guest »

Warning: If you download this using a Windows CVS client (like I did), then transfer it to a Linux Virtual Machine, you may recieve errors because of Windows' formatting conventions. (I got "Bad Interpreter: Missing File Or Directory when doing "./autogen.sh" - It is autogen, I think).

I have not tried this out yet (I'm not at home yet), but I have heard if you use Emacs to remove the end of line characters, it will run. Or - you may be able to type: -

sh autogun.sh

To get it to work.

I'll let you know tomorrow if I have any success. :D
Guest

Post by Guest »

I meant:

sh autogen.sh

NOT autgun. Darn!

:D
Ranbaz

Post by Ranbaz »

Hello,

When I tried to compile from the CVS I've got :

./configure: line 2851: syntax error near unexpected token `1.2.0,'
./configure: line 2851: ` AM_PATH_GTK(1.2.0, '

I have GTK+1.2.
An idea ?
Bye
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

Check to see if you have the Glib development package installed.

Please install it if it isn't already and see if the configure script gets any further.
Guest

Post by Guest »

I got it working by running dos2unix on 3 scripts (autogen.sh, genexec.something, and another autogen I think)

You need exec permissions on these three too.

Not very comprehensive, I know, but if you have specific problems related to buliding it, post here and I will see if I had the same problem.
Scott Holder

Post by Scott Holder »

I've gotten this far with it. I've got the various dev packages installed as I've compiled plenty of other things. Any ideas?

Scott Holder

g++ -o SheepShaver obj/main_unix.o obj/prefs.o obj/prefs_items.o obj/prefs_unix.o obj/sys_unix.o obj/rom_patches.o obj/rsrc_patches.o obj/emul_op.o obj/name_registry.o obj/macos_util.o obj/timer.o obj/timer_unix.o obj/xpram.o obj/xpram_unix.o obj/adb.o obj/clip_unix.o obj/sony.o obj/disk.o obj/cdrom.o obj/scsi.o obj/scsi_linux.o obj/video.o obj/video_blit.o obj/video_x.o obj/audio.o obj/audio_oss_esd.o obj/ether.o obj/ether_linux.o obj/serial.o obj/serial_unix.o obj/extfs.o obj/extfs_unix.o obj/about_window_unix.o obj/user_strings.o obj/user_strings_unix.o obj/vm_alloc.o obj/sigsegv.o obj/sshpty.o obj/strlcpy.o obj/sheepshaver_glue.o obj/ppc-cpu.o obj/ppc-decode.o obj/ppc-execute.o -lpthread -lSM -lICE -L/usr/X11R6/lib -lX11 -lXext -lXxf86dga -lXxf86vm
obj/main_unix.o(.text+0x2bb): In function `main':
/home/scott/SheepShaver/src/Unix/main_unix.cpp:432: undefined reference to `PrefsEditor()'
collect2: ld returned 1 exit status
make: *** [SheepShaver] Error 1
User avatar
javier_garza4
Tinkerer
Posts: 68
Joined: Thu Nov 28, 2002 8:59 pm
Location: El Paso

Post by javier_garza4 »

you know what id like to do? the lazy install. too bad whenever i try to register on delphi forums it tells me it doesnt allow people under 13 years old. I am 13. I even tried using 1883 as my birthdate, but it still wont work, so i guess ill do all that linux stuff, when someone tells me where to download it...
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

Here's my long winded reply (filibuster). :wink:

Unless you have an "Old World" PPC Macintosh, don't even bother trying to compile SheepShaver as you won't be able to use it (unless you would like to practice "making" SheepShaver). I imagine that various other PPC Macintosh ROMs might eventually be supported. Possibly the New World ROMs that are freely (read license agreement) available from Apple (see Mac-On-Linux website) or on a Mac OS 8.6+ Install CD or in the System Folder of a New World Mac running OS 8.6+. The whole legal issue of the distribution of ROM files violating the U.S. Digital Millennium Copyright Act of 1998 comes into play here, with many other countries also supporting similar measures. I'm hoping to look into the legallity of even using a ROM dump, installing a Mac OS, etc. in the next few weeks. Possibly Apple lawyers clamped down on Emulators, Inc. recently, hurting our plight of Open Source PPC Mac emulation. :cry:

The initial learning curve of using Linux is steep. Not that I'm a Guru, yet. :wink: Add the fact that the SheepShaver source isn't fully developed yet and there are likely to be problems unless you're a competent Linux developer.

For anyone new to Linux, I recommend installing an easier Linux distribution like Mandrake 9.2 (Linux war anyone?). Install all the development packages and all the Gnome (GTK+, GLib) packages. After installing, use the package manager to find all uninstalled packages involving GTK and install them. The SheepShaver developer uses Mandrake, so better luck might be had using this Linux distro.

The simple scripts I made help you do the complete cycle of downloading the SheepShaver and Basilisk II source code, setting it up, configuring it and making the executable binary. Feel free to edit them or just view them to figure out what they are doing. I think I'll add options to exit the script at each terminal command, pipe error messages to a log file and maybe the option to build Basilisk II JIT since it's source is also downloaded (CVS).

BTW, after school tomorrow I'm going to have time to learn more Linux and experiment with SheepShaver. I plan on completely switching to Linux in the next few weeks as the various Open Source Software programs like OpenOffice, Mozilla, Basilisk II, etc. promise to break my addiction to Windows and related programs. (But I'll install Win4Lin 3.0 for whatever things I still need Windows for.) I'll be able to run all three major OS platforms (when SheepShaver gets ironed out and maybe JIT) at the same time on one computer at decent speeds. Yeah, I know ... no Mac OS X. If SheepShaver is ever ported to run on Mac OS X, then you could run Mac OS X (thus BSD Unix), "Classic" Mac OS via SheepShaver and any x86 OS like Windows (with Microsoft Virtual PC or whatever) on your Mac.[/b]
Jackalo
Granny Smith
Posts: 119
Joined: Wed Jun 26, 2002 10:23 pm
Location: Illinois, USA
Contact:

Post by Jackalo »

javier_garza4 wrote:you know what id like to do? the lazy install. too bad whenever i try to register on delphi forums it tells me it doesnt allow people under 13 years old. I am 13. I even tried using 1883 as my birthdate, but it still wont work, so i guess ill do all that linux stuff, when someone tells me where to download it...
Sounds like a personal problem to me.
ZMan

Post by ZMan »

What ROMS are supported, when I choose 9FEB69B3 ROM, it says "unsupported ROM type" :(

I use Mandrake 9.0 on a Pentium III 800 Mhz
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

I believe that's a ROM from a 6100 (nubus) series. SheepShaver seems to only support TNT ROMs (7500 8500 8600 ) from a PCI-based PowerMac. See this thread: http://forums.delphiforums.com/stoncold ... ?msg=129.1
Guest

Post by Guest »

What about this ROM: checksum = 96CD923D
Thyth

Post by Thyth »

Anonymous wrote:What about this ROM: checksum = 96CD923D
What kind of machine did you get it from?
User avatar
sHARD>>
Inquisitive Elf
Posts: 37
Joined: Sun Nov 17, 2002 6:26 pm
Location: No one really knows...

Post by sHARD>> »

Nevermind...that was me...I forgot to login, and was kinda tired. That ROM works fine.
Collaborate with security:
Use WASTE
luckyy
Student Driver
Posts: 11
Joined: Sun Dec 14, 2003 11:53 pm
Location: Vermont, USA
Contact:

Redhat 9 & Fedora Users

Post by luckyy »

>When I tried to compile from the CVS I've got :
>
>./configure: line 2851: syntax error near unexpected token `1.2.0,'
>./configure: line 2851: ` AM_PATH_GTK(1.2.0, '
>

If you are getting this error; I got it to work using an older automake--

Make sure you have the following RPM installed: automake14
(I am using Fedora Core 1, and the exact package is automake14-1.4p6-7)

Then, edit "SheepShaver/src/Unix/autogen.sh" as follows:

Towards the end of the file, you want to find this line of code (line 32 for me):

aclocal $aclocalinclude; \

And instead make it read:

aclocal-1.4 $aclocalinclude; \


Then try running the autogen.sh script as directed in the top of this thread... so long as you have all the correct -devel packages installed, it should work like a champ.

At least, it did for me :)

Good luck.
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

Good point.

(On Mandrake 9.2, it's automake-1.5 that's needed off the CD.)
nyteschayde
Space Cadet
Posts: 1
Joined: Fri Feb 21, 2003 7:28 am
Location: San Francisco, California
Contact:

MOL and SheepShaver project merge

Post by nyteschayde »

With so few camps supporting the PowerPC cpu emulator out there why shouldn't we merge the working cpu emulation of SheepShaver x86 with the code written for MOL. I know there is work to be done here but MOL currently uses NewWorld ROMS, so we can learn from that, and supports OS X.

There is existing work, obviously unfinished, by the maker of MOL to create a PPC cpu emulator. Merge what we have, throw off the old shell of SheepShaver and get things worked out.

Try not to flame me I don't expect this to happen overnight but I think its a worthwhile effort.

Thanks..
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

That would be a good idea.

The problem that everyone overlooks when suggesting projects is that there is no one around (so far) capable of doing such development. Only Gwenole breifly touched the Windows port of Basilisk II after Lauri abandoned it several years ago.
SomeRandomManc

Post by SomeRandomManc »

Slightly off topic here

Does anybody have any speed comparisons for this emulation? What sort of powerpc performance is one likely to get from say a AthlonXP 2800 333MHz FSB, assuming chuffing great wads of ram are installed?
orang55
Space Cadet
Posts: 6
Joined: Tue May 21, 2002 4:21 am

Post by orang55 »

Well. Not very much.

If a 1.8ghz P4 can only manage 4x as fast as an ancient PPC mac, I wouldn't count on any thrilling performance. An XP 2800 should be able to run any app ancient enough to run in OS 8.6 without too much trouble.

That being said... has anyone tried to compile this under Cygwin yet? I'd be interested to see the results.

Also, is it possible to compile sheepshaver for x86-64? :-) I'm dying to test this thing out...
Guest

Post by Guest »

I am still having major issues at this point:

./configure: line 5963: syntax error near unexpected token `1.2.0,'
./configure: line 5963: ` AM_PATH_GTK(1.2.0,'


I have tried a number of things outlined in this thread.

I have tried glib 1.2.0 , eventhough that was a downgrade from my 1.2.10-372

Think I will wait for the next CVS release.
gb

Post by gb »

SheepShaver builds and works on AMD64 with JIT. I have just run Speedometer 4, an Opteron @ 1.8 GHz gets a "Benchmark Mix" score 2.3x better than a 32-bit version running on a P4 @ 1.8 GHz too.
Mac Emu
Forum All-Star
Posts: 1208
Joined: Mon May 20, 2002 11:50 am
Location: Ouraion

Post by Mac Emu »

orang55 wrote:That being said... has anyone tried to compile this under Cygwin yet? I'd be interested to see the results.
I tried installing (and also compiling) the 2.2-4 package under a full Cygwin install over a month ago with no success. Here's rpm output for missing dependencies

$ rpm -Uvh SheepShaver-2.2-4.i586.rpm
error: Failed dependencies:
ld-linux.so.2 is needed by SheepShaver-2.2-4
libaudiofile.so.0 is needed by SheepShaver-2.2-4
libc.so.6 is needed by SheepShaver-2.2-4
libdl.so.2 is needed by SheepShaver-2.2-4
libesd.so.0 is needed by SheepShaver-2.2-4
libgcc_s.so.1 is needed by SheepShaver-2.2-4
libgdk-1.2.so.0 is needed by SheepShaver-2.2-4
libglib-1.2.so.0 is needed by SheepShaver-2.2-4
libgmodule-1.2.so.0 is needed by SheepShaver-2.2-4
libgtk-1.2.so.0 is needed by SheepShaver-2.2-4
libICE.so.6 is needed by SheepShaver-2.2-4
libm.so.6 is needed by SheepShaver-2.2-4
libpthread.so.0 is needed by SheepShaver-2.2-4
libSM.so.6 is needed by SheepShaver-2.2-4
libstdc++.so.5 is needed by SheepShaver-2.2-4
libX11.so.6 is needed by SheepShaver-2.2-4
libXext.so.6 is needed by SheepShaver-2.2-4
libXi.so.6 is needed by SheepShaver-2.2-4
libc.so.6(GLIBC_2.0) is needed by SheepShaver-2.2-4
libc.so.6(GLIBC_2.1) is needed by SheepShaver-2.2-4
libc.so.6(GLIBC_2.1.3) is needed by SheepShaver-2.2-4
libc.so.6(GLIBC_2.2) is needed by SheepShaver-2.2-4
libgcc_s.so.1(GCC_3.0) is needed by SheepShaver-2.2-4
libgcc_s.so.1(GLIBC_2.0) is needed by SheepShaver-2.2-4
libm.so.6(GLIBC_2.1) is needed by SheepShaver-2.2-4
libpthread.so.0(GLIBC_2.0) is needed by SheepShaver-2.2-4
libpthread.so.0(GLIBC_2.1) is needed by SheepShaver-2.2-4
libstdc++.so.5(GLIBCPP_3.2) is needed by SheepShaver-2.2-4
libstdc++.so.5(GLIBCPP_3.2.2) is needed by SheepShaver-2.2-4
Bassie

Post by Bassie »

:?: I have previous version sheepshaver running on mandrake 9.2, as this is my first linux-box and still am a newbie, I kind of am proud of my ashievement. The sheep_net configuration I had to left out, as I know nothing yet about compiling nor cvs downloading. Therefore I wonder if anyone could make a sort of binary installer that does everything at once for the newest 2.2.8 of sheepshaver? (Could also be that i'm mistaken regarding the networkinterface, I've only placed one NIC in my box (eth0), perhaps sheepshaver doesn't emulate another MAC as basilisk in windows does.
If no such binary installer available, would be in debth of the one that will post some guide for totally linux-newbies?

Thx in adv.

Bassie
Post Reply