in reply to Re: How to run MacOS Classic app in OSX? system() can't run it..
in thread How to run MacOS Classic app in OSX? system() can't run it..

Thank you for your answer!

When I run in while in the same directory where app resides, and run as open ./myapp
I get

2006-02-03 08:08:59.110 open[396] LSOpenFromURLSpec() returned -10814 +for application (null) path /Volumes/Untitled 2/myapp 2006-02-03 08:08:59.114 open[396] Couldn't open file: /Volumes/Untitle +d 2/myapp
When I run
open .../myapp
I get
2006-02-03 08:17:49.352 open[429] No such file: /Volumes/Untitled 2/.. +./myapp
What the case #1 means - is it a bug in the app I run, or something is wrong with the binary file?

Replies are listed 'Best First'.
Re^3: How to run MacOS Classic app in OSX? system() can't run it..
by Fletch (Bishop) on Feb 03, 2006 at 16:15 UTC

    I'd guess something's wrong with myapp. I just verified that open does start Classic apps (ran the OS 9 versions of SimpleEdit and Graphing Calculator using it fine).

    perl -le 'system( "open", "/Applications (Mac OS 9)/Graphing Calculato +r" )'
      In my case, I guess './myapp' has lost resource fork information (I've copied it using ftp program). Can it be the reason why it doesn't run? I'd like to put the 'myapp' to CD with ISO9660 filesystem, so resource forks won't be available there. Are there any special commands for running OS9 binaries without resource forks available?

      Thanks in advance for your answers!

        The actual code for OS9 binaries are stored as one or more CODE resources, so you're going to be out of luck if you can't store resource forks. That said, ISO9660 should be able to store the resource forks for you (in a separate file on the CD, but organised such that OS9 can find it) - see this article for a bit more background information.

        Hope that helps.

        The resource fork holds information about the windows, dialog boxes, images, etc. used by the application. Once the resource fork is trashed, the application is dead.

        The best way to transfer a Mac app and keep its resource fork is to use StuffIt to binhex or just stuff the file before sending via email, ftp, or burning to a CD that doesn't maintain the resources.

        If you can get the file stuffed, and then FTP it again, you should have a working application. Burn the stuffed file to CD, and then instruct your end user to un-stuff it at their end. StuffIt Expander is available as a free download