Page 1 of 4

Building SheepShaver x86 Linux

Posted: Tue Nov 18, 2003 2:57 am
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.

Posted: Thu Nov 20, 2003 11:31 am
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

Posted: Thu Nov 20, 2003 11:32 am
by Guest
I meant:

sh autogen.sh

NOT autgun. Darn!

:D

Posted: Thu Nov 20, 2003 5:46 pm
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

Posted: Thu Nov 20, 2003 8:17 pm
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.

Posted: Fri Nov 21, 2003 10:00 am
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.

Posted: Sun Nov 23, 2003 6:15 am
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

Posted: Sun Nov 23, 2003 9:25 am
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...

Posted: Sun Nov 23, 2003 1:24 pm
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]

Posted: Mon Nov 24, 2003 7:23 am
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.

Posted: Sat Nov 29, 2003 8:09 pm
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

Posted: Sat Nov 29, 2003 9:45 pm
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

Posted: Wed Dec 10, 2003 11:12 pm
by Guest
What about this ROM: checksum = 96CD923D

Posted: Fri Dec 12, 2003 2:34 am
by Thyth
Anonymous wrote:What about this ROM: checksum = 96CD923D
What kind of machine did you get it from?

Posted: Fri Dec 12, 2003 1:08 pm
by sHARD>>
Nevermind...that was me...I forgot to login, and was kinda tired. That ROM works fine.

Redhat 9 & Fedora Users

Posted: Mon Dec 15, 2003 12:00 am
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.

Posted: Mon Dec 15, 2003 5:04 am
by Mac Emu
Good point.

(On Mandrake 9.2, it's automake-1.5 that's needed off the CD.)

MOL and SheepShaver project merge

Posted: Tue Dec 16, 2003 12:38 am
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..

Posted: Tue Dec 16, 2003 1:46 am
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.

Posted: Thu Dec 18, 2003 5:34 am
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?

Posted: Tue Jan 13, 2004 10:56 pm
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...

Posted: Wed Jan 14, 2004 3:15 am
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.

Posted: Wed Jan 14, 2004 9:14 am
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.

Posted: Wed Jan 14, 2004 11:30 pm
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

Posted: Thu Jan 15, 2004 12:53 pm
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