Command Line Error

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
bendnlsn
Space Cadet
Posts: 4
Joined: Mon Feb 07, 2011 3:11 am

Command Line Error

Post by bendnlsn »

Hey everyone, just registered to ask this question!

I've got two Intel-Macs I want to get connected through SheepShaver for some classic LAN gaming. I've been following the guide here:

http://www.open.ou.nl/hsp/engels/Applet ... Shaver.htm

to try and get this to work, but I've run across an error. When using Terminal to run the first bit of code meant to launch SheepShaver, I get the error:

ERROR: cannot open ROM file

Weird thing is, I have a ROM file, and I can launch the .app and get into SheepShaver fine. System 9 is installed and running fine, but when going through command line, it can't open the ROM?

I've scoured the boards looking for solutions, but I may have missed something crucial. Are there any thoughts?
andreas_g
Student Driver
Posts: 21
Joined: Thu Dec 02, 2010 5:50 pm
Location: Austria

Post by andreas_g »

Maybe you have just a problem with the path to the ROM file beeing relative to the .app-bundle.

Try this:

Go to the SheepShaver.app/Contents/MacOS directory and copy the binary file "SheepShaver" to the same directory where SheepShaver.app is placed (do not move the binary! you can copy it by holding down the option key while dragging the file to the other directory)!

Try to launch that new copy of the SheepShaver binary via command line. I hope that works!
bendnlsn
Space Cadet
Posts: 4
Joined: Mon Feb 07, 2011 3:11 am

Post by bendnlsn »

Thanks for your reply, but unfortunately your suggestion didn't work. I even tried copying the ROM file to the MacOS directory and launching it. Both methods had the same result. I then went into SS's preferences and gave it an absolute path to the ROM file (had to type it in), but while the .app continues to work splendidly, the command line method stubbornly fails.

I should also note that I went to redundant robot and tried pretty much every ROM version that was there, but the same problem persists. I'm surprised that this kind of problem doesn't seem that common on the boards!

If there's any crash log or data dump file somewhere that someone more knowledgable than me wants to look at, they need only point me in the right direction. I appreciate all the help!
User avatar
Cat_7
Expert User
Posts: 6172
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Hi,

This error only means the rom file can't be found.
The preferences editor sets the rom file like /Users/yourusername/...
Perhaps you need to set the path like /Volumes/nameofOSXHarddisk/Users/yourusername....

And naming the rom file ROM or Mac OS ROM should allow SheepShaver to find it in the home folder without entering an explicit reference to it in the prefs.

There is also this guide I wrote with an example of a sript that makes life a little bit more easy:
http://www.emaculation.com/doku.php/app ... heepshaver

Best,
Cat_7
bendnlsn
Space Cadet
Posts: 4
Joined: Mon Feb 07, 2011 3:11 am

Post by bendnlsn »

Hi Cat_7, thanks for replying.

Here's what I did:

1. I moved the SS files into my Home directory for easy pathing
2. Launched SS and entered the preferences
3. Updated the ROM reference with: /Volumes/MyHardDisk/Users/Me/SheepShaver/Mac\ OS\ ROM
4. Quit SS and opened its package contents and found the MacOS directory with the SheepShaver file
5. Opened Terminal and entered "sudo " then dragged and dropped the SheepShaver file so Terminal could sort out the path
6. Ran script, entered password and was met with the same error.

I was really excited to see that script you had made, but I fall on my face on the first step. Hmm, perhaps it wasn't meant to be?

I also repaired disk permissions on the off chance that made a difference. Alas, not so.

I appreciate all your help already, but if you have any other ideas or tests you'd like me to run, I'm all ears. :D
User avatar
Cat_7
Expert User
Posts: 6172
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Ok,

Lets start with the obvious: can you run sudo SheepShaver (just the application, not the sheepshaver in the package content folder) from a terminal and then use the built-in preferences editor (under the file menu) and browse to the rom file? Does that work?
I'm not sure, but perhaps running sheepshaver as root tries to load the preferences file from that users home folder, and not from your regular home folder.


Best,
Cat_7
User avatar
Ronald P. Regensburg
Expert User
Posts: 7834
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

You can put all needed files inside the folder that contains SheepShaver.app and use only the file names for the paths in prefs. As described in my setup manual, that will work when you launch SheepShaver.app.

But when you launch the SheepShaver executable inside SheepShaver.app directly, as with the command line that is suggested in the guide you used, all paths need to be the full paths.

Edit 1: When you launch SheepShaver as root (sudo) from your own account, SheepShaver will use the prefs file in your own Home folder. So you can edit the preferences to insert the full paths while running SheepShaver normally.

Edit 2: The built-in prefs editor will only enter the file names when browsing files that are in the same folder. You can force the prefs editor to use full paths when the files are not in the same folder, for instance in a folder 'SheepShaver files' inside the SheepShaver folder. To get full paths for the volumes, remove the volumes and add them again in the list.

Edit 3: SheepShaver will not launch initially without the rom file in the same folder. So use a copy of the rom file in both the SheepShaver folder and in the SheepShaver files folder. Browse to get the full path to that second copy.
bendnlsn
Space Cadet
Posts: 4
Joined: Mon Feb 07, 2011 3:11 am

Post by bendnlsn »

Alright, I've found success! Here's what I did:

You were both right that the unix file couldn't find the ROM file because of the path it was being given. I moved all the relevant SS files into a folder within SheepShaver as you suggested, Ronald, and used browse within SS to update the preferences. However, the browse function only gave me SheepShaverFiles/Mac\ OS\ ROM, so the path was still relative to the .app bundle. Instead, I manually typed in

/Users/Me/SheepShaver/SheepShaverFiles/Mac\ OS\ ROM

for both the ROM and the shared folder. Running the Unix file through Terminal launched SS. Fantastic! Except now it couldn't find the volume I was using. I had removed and added it to the list as you suggested, but the same pathing issue existed, with the path still being relative. And, of course, I can't edit the path manually in the list, so I revealed the hidden files in my home folder, and use TextEdit to update .sheepshaver_prefs with the volume's path to match the ROM and Shared paths.

Voila, SS launches and boots into Mac OS 9 from Terminal. So, an absolute path starting with Users seems to be the ticket.

Of course, now I'm running into snags with the rest of the networking process, but I'll go to the relevant threads for those. :D

Thanks for all the help, guys!
User avatar
Ronald P. Regensburg
Expert User
Posts: 7834
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

And I learned something out of this too. I always assumed, but did not really check, that the built-in prefs editor would provide full paths when the files are not in the same location as SheepShaver. Apparently it does not. :oops:
User avatar
Cat_7
Expert User
Posts: 6172
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Post by Cat_7 »

Ha Yes!

Full paths are only directly supported by the old SheepShaverGUI application. I always have one at hand...;-)

Best,
Cat_7
Post Reply