What do I need to compile programs? (SCO Unix)
This article is from a FAQ concerning SCO operating
systems. While some of the information may be applicable to any OS,
or any Unix or Linux OS, it may be specific to SCO Xenix, Open
There is lots of Linux, Mac OS X and general Unix info elsewhere on
this site: Search this site is the best
way to find anything.
Ancient OSes sometimes left things out:
If you have free OpenServer, you already have a license to
install the development system; the Web page on which you license
free OpenServer gave you several keys and codes, including one to
license that. If you are using a commercial version, you may be
able to use the free GNU compiler, or you will have to purchase the
Xenix, Unix and ODT do not ship with program development tools.
These are unbundled into packages known as Development Systems. The
rationale behind this is that many users of SCO systems are using
off-the-shelf software and never need to write a line of C code. If
everyone was forced to buy the development system whether they
needed it or not, some of the customers might get upset. There is a
periodic flame war about this; this is not the place to discuss
You can buy the Development System for any of the three
environments listed above as a separate package including the
compiler, header files, libraries, lex, yacc, linker, and other
tools. Additionally, development systems are available for other
packages such as TCP/IP; these development systems add the include
files, libraries, etc. required to program for the package in
question. The ODT Dev Sys includes the development tools for all of
the other goodies (e.g. TCP/IP, X) that are bundled into ODT. Since
OSR5 generally bundles the various runtime packages (e.g. TCP/IP)
with the OS, it also bundles the same development packages, so
there are not the same development system add-ons in OSR5 that
there were in previous versions.
Watch out for the "UDK" Dev Sys. As this post explains:
The native OSR5 devsys is installed
from the main OSR5 operating system CD (the label even says so, in
medium-small print). The UDK comes on its own separate CD with big huge
letters, to make sure you install the wrong devsys, which you've
Do not use the CD labelled in "UnixWare and OpenServer Development Kit" because the code will end up in /udk/usr/ccs/bin. Use the CD labelled in small print "SCO OpenServer Development System".
There are versions of gcc (the Gnu C Compiler) freely available
for SCO systems. On older SCO operating systems, however, you will
probably need the development system, as the header and library
files you need are part of it and not part of the operating system
itself. This problem has been alleviated in OpenServer Release 5,
as the headers and libraries are now shipped as part of the base
operating system and are available even if you have not purchased
the development system.
You should understand that installing gcc does NOT necessarily
give you trouble free compilation of anything you download off the
net. The problem is that makefiles, if they are aware of SCO at
all, will often assume that you are using "cc". Linking "gcc" to
"cc" won't help- in fact, it may make things worse. Compiler flags
for "cc" are very different from those of "gcc"; if the make file
sees "cc" in a SCO environment, it may use "cc" flags, and those
often are very, very wrong for gcc. If it doesn't see "cc" at all,
it may give up, or make totally incorrect library choices.
The "lxrun" package allows you to run many Linux
programs on OSR5 and Unixware; you could always compile on a Linux
Some of the better written software uses auto-configuration
software to generate makefiles. This software examines your
environment, does test compiles of program snippets to determine
what libraries are available, and makes other tests that should
create a working Makefile. These have a good chance of compiling
properly, but in many cases, you will still have to hand-edit the
Makefile yourself, and ( depending on its complexity) you may need
a very good understanding of compiler options, library contents,
I wish somebody would write an article about this.
To install the headers and libraries, insert your original OS
CDROM, run custom, choose Install New and install the "SCO
OpenServer Linker and Application Development Libraries" - note
that these are NOT part of the Development System or Enterprise
choices; you don't have to expand any packages, this is right at
the top level. The instructions at the Skunkware site can throw you
off because they tell you to look for "Application Development
Libraries and Linker", which is not what is says on the CD's.
gcc sources and binaries for OpenServer Release 5 only are on
the free Skunkware family of CD-ROMs; for more info, see http://www.sco.com/skunkware/faq.html
or read the section below entitled "What is Skunkware?"
Sam G. notes (Jan 2005)
just wanted you to know as follows:
in 5.07 there is a separate CD that says 'development system' that
includesthe 'standard' development system and also the Java
Development tools.if you install the DS from there there is no
option to defray, nor is therean option for just the 'headers and
linker'. -However - the original OS disk - also contains the
Deveolopment pkg as well asjust the 'headers & linkers only' (forgot
what that pkg is called) - but on this 'Development' option the
'defer' option does exist.
See also http://www.sco.com/developers/products/devkits.html
Got something to add? Send me email.