Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / Mac Programming / January 2006



Tip: Looking for answers? Try searching our database.

Terminal application compatibility

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Mike - 18 Jan 2006 16:31 GMT
Is Terminal.app installed on all OS X systems or is it optional?
I'm thinking about compatibility if I create a terminal application.

I use the latest OS X version. Someone on 10.2.8 couldn't start a
terminal application because the OS reported that it didn't know
which application the file was associated with.

In other words, it wasn't recognized as an executable although I've
set the build settings in Xcode to make it compatible with all
OS X versions, including 10.2.

/Mike
vze35xda@verizon.net - 18 Jan 2006 17:35 GMT
Yes it should be on all OS X versions in /Applications/Utilities
Dave Seaman - 18 Jan 2006 17:41 GMT
> Is Terminal.app installed on all OS X systems or is it optional?
> I'm thinking about compatibility if I create a terminal application.

It's installed by default.

> I use the latest OS X version. Someone on 10.2.8 couldn't start a
> terminal application because the OS reported that it didn't know
> which application the file was associated with.

Sounds like someone tried to start a Unix executable by double clicking
on it in the Finder.  There is a way to handle that:  you can give the
file a ".command" suffix to make it double-clickable, but otherwise, the
logical way to run a Unix program is to put it in your PATH and type the
command in a Terminal window.

> In other words, it wasn't recognized as an executable although I've
> set the build settings in Xcode to make it compatible with all
> OS X versions, including 10.2.

The file may well have had the executable bit set, but Unix executables
are not the same as OS X Applications.  The problem is that files without
suffixes (such as most Unix programs) don't normally have a "type" or
"creator" defined.  There are ways to get around that.

Signature

Dave Seaman
U.S. Court of Appeals to review three issues
concerning case of Mumia Abu-Jamal.
<http://www.mumia2000.org/>

Mike - 18 Jan 2006 18:34 GMT
> The file may well have had the executable bit set, but Unix executables
> are not the same as OS X Applications.  The problem is that files without
> suffixes (such as most Unix programs) don't normally have a "type" or
> "creator" defined.  There are ways to get around that.

For example to add the extension .command?
WIll it start on all OS X systems then? I mean, is the extension
.command assocaited with a terminal executable on all OS X systems?

It's a simple C program by the way, which I have written.

Regards
Mike
Dave Seaman - 18 Jan 2006 19:24 GMT
>> The file may well have had the executable bit set, but Unix executables
>> are not the same as OS X Applications.  The problem is that files without
>> suffixes (such as most Unix programs) don't normally have a "type" or
>> "creator" defined.  There are ways to get around that.

> For example to add the extension .command?
> WIll it start on all OS X systems then? I mean, is the extension
> .command assocaited with a terminal executable on all OS X systems?

> It's a simple C program by the way, which I have written.

I'm not sure whether the ".command" feature works all the way back to
version 10.0, but I know it has been around for quite some time.

Under Tiger, you don't even need the ".command" suffix, because Unix
executables are automatically opened in the Terminal.

Signature

Dave Seaman
U.S. Court of Appeals to review three issues
concerning case of Mumia Abu-Jamal.
<http://www.mumia2000.org/>

Mike - 19 Jan 2006 07:13 GMT
> I'm not sure whether the ".command" feature works all the way back to
> version 10.0, but I know it has been around for quite some time.

Renaming worked, but then the user gets this error message:

 dyld: /Users/thename/Desktop/theProgram.command can't open
 library: /usr/lib/libstdc++.6.dylib  (No such file or directory, errno
 = 2)
 Trace/BPT trap
 logout
 [Process completed]

Isn't the C++ runtime libraries available on all systems? It's really
a project on its own to figure out how to develop a piece of software
which has to be compatible with all configurations and versions of
Mac OS X. I'm not sure if it's even possible.

Mike
Allen Brunson - 19 Jan 2006 08:04 GMT
> Renaming worked, but then the user gets this error message:
>
[quoted text clipped - 6 lines]
>
> Isn't the C++ runtime libraries available on all systems?

yes, but not always in the same form.

i'm not an expert in these matters, but that looks to me like you created the
program on a later version of macosx, like 10.4, which supplies the C++ stuff
in a .dylib, which was not present in earlier macosx versions.  in those days,
the C++ library was provided as a static .a library.

if you want backward compatibility, you have to tell the compiler to use one
of the SDKs for earlier OS versions.
Mike - 19 Jan 2006 08:47 GMT
> > Renaming worked, but then the user gets this error message:
> >
[quoted text clipped - 16 lines]
> if you want backward compatibility, you have to tell the compiler to use one
> of the SDKs for earlier OS versions.

Oh what a mess. Well well. Thanks for pointing it out. Backward compatibility
doesn't seem to be OS X biggest strength. In fact it seems to be a real pain.

Mike
Allen Brunson - 19 Jan 2006 10:17 GMT
> Oh what a mess. Well well. Thanks for pointing it out. Backward
> compatibility doesn't seem to be OS X biggest strength. In fact it
> seems to be a real pain.

be careful what you wish for.  requiring slavish backward compatibility leads
to a moribund operating system, layers and layers of cruft, and little or no
innovation.  apple was revitalized when they were finally willing to declare
macos9 and earlier to be dead, dead, dead.  the wailing and gnashing of teeth
amongst the mac old-timers was almost deafening, but it had to be done.  in
fact, apple would have been in better shape if it had been done five years
earlier.

setting up xcode to use the SDK for an earlier OS is not that difficult, you
just didn't know about it.  there is certainly no OS ever invented that
doesn't have a few similar nooks and crannies that you have to learn about the
hard way.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.