Command Line Error
Moderators: Cat_7, Ronald P. Regensburg, ClockWise
Command Line Error
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?
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?
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!
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!
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!
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!
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
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
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
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
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
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
- Ronald P. Regensburg
- Expert User
- Posts: 7834
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands
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.
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.
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!
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!
- Ronald P. Regensburg
- Expert User
- Posts: 7834
- Joined: Thu Feb 09, 2006 10:24 pm
- Location: Amsterdam, Netherlands