Linux installation

J. Landman Gay jacque at hyperactivesw.com
Tue Jun 6 17:48:51 EDT 2006


Bob Warren wrote:
> 
> These are my definitions, which you might like to challenge as being 
> inappropriate:
> 
> 1. An "executable" (e.g. a file produced by VB in Windows) is not a 
> program, it's half a program. Nor is it executable. It finds its other 
> half in the operating system it is running under (in the form of 
> libraries), and when the 2 halves are put together, it can do something.
> 
> 2. A "standalone" is a whole program, not half. It does not refer to any 
> libraries at all in the runtime operating system**, and can be executed 
> directly.

There are no programs that function as you describe in #2, on any 
operating system, written by any development platform.

> 
> [** except perhaps totally invariable ones - if such a thing exists??]
> 
> What Jacque seems to be trying to tell me is that in spite of the 
> denomination, Rev "standalones" for Linux are not pure. They mainly have 
> the characteristics of the 2nd category, but they have some of the 
> characteristics of the 1st.

No, they are mainly like the first category. All 
applications/executables/standalones are like #1. I can't think of a 
single exception. They *all* rely on libraries embedded in the OS.

What's an OS? It is a series of libraries and resources available for 
common use by any program. The existence of common libraries ensures 
that all execuatables will look fairly similar and have similar 
behaviors. This is considerd desirable. It gives consistency to the user 
experience. All modern applications rely on them.

All Mac/Windows/Linux applications are the same regardless of whether 
they run with Revolution's engine or something else. You don't want to 
have to program your own window manager each time you create a program, 
or your own file I/O, or all the other thousands of interactions that an 
operating system provides for you with a single call. That's the whole 
purpose of an operating system. Your program asks it for data and it 
hands it back, or it draws a window for  you, or it manages data flowing 
through a socket. Your program just makes the calls that ask it to do 
those things.

There is no such thing as a "standalone" as you have defined it on any 
OS. All programs rely on system libraries.

> 
> Although this does not seem to fit in with an ideal situation, is it 
> certainly true in Linux? Can anyone give me any examples of libraries in 
> the OS certainly used at runtime by all Rev Linux programs?

Rev (or any other engine) on any platform needs the OS to execute 
thousands of commands and interactions. You need the OS libraries to:

read/write files or get a file listing
draw a window in any of several styles
manage menus
track and report the mouse position
recognize and report keyboard input
keep track of the time and date (seconds, ticks, date formats)
recognize mounted drives
work with networked drives and files
resolve aliases
do math operations
display color data
communicate with printer drivers and manage the print queue
translate and generate sounds
play multimedia (movies, music)
interact with COM and serial ports
display program icons
and on and on and on...


> And if Rev 
> does use such libraries in its "impure" standalones, is there any chance 
> that either Rev will not find them in a particular distro or that they 
> become outdated?

They aren't "impure". They are standard applications that act exactly 
like any other. Sometimes system libraries do become outdated. Every 
time a new OS is released on any platform, all applications that run on 
that OS usually have to be rewritten. Note that Runtime just released a 
new version to support Mac on Intel machines, for example. The Linux 
libraries also change; there have been several updates over the years to 
support those changes. When Windows releases Vista you will see another 
new update to support those changed libraries. It is the nature of 
software development.

I don't think you understand how truly intertwined all applications are 
with the OS they run on. It is okay that they do that. The only other 
alternative would be for you to have to write all your own routines to 
do all the above and more -- which apparently lots of Linux people have 
decided to do, giving you the headaches you started out with at the 
beginning of this thread.

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com



More information about the use-livecode mailing list