The Open Source Tool Kit, or OSTK, is an updated, supported release of some open source tools for UnixWare 7, Releases 7.1.1 and 7.1.3 and Open UNIX 8, Release 8.0.
The Open Source Tool Kit is the logical follow-on to the release of open source programs through the Skunkware media and download web site. It contains a set of released open source compilers, object file tools, libraries and other files that can be used to develop, enhance and compile programs for use on The SCO Group, Inc. SVR5 UNIX operating systems.
The Open Source Tool Kit is not meant as a replacement for the UnixWare/OpenServer Development Kit or the Open UNIX Development Kit. It works in conjunction with the UDK, and utilizes the UDK linker, the UDK libraries and system header files or modified header files. Programs produced with these tools utilize the native SVR5 UNIX C runtime and system libraries. The GNU C++ compiler provides and uses its own library. The OSTK is the logical choice when porting code originally developed and compiled with the GNU compilers or when the developers are more familiar with or prefer the GNU compilers and debugger to those in the UDK.
For a discussion of the advantages, limitations and suitability of the UDK or the OSTK to your project needs, read the Guide to Software Development Kits on Caldera Systems" at www.sco.com/developers/products/devkits.html.
If you are interested in keeping up with the latest tools and information about developing software on or for The SCO Group platforms, we invite you to consider the The SCO Group Developer Network. You can join at no cost, and enjoy the benefits of special developer discounts on software and services, access to developer support and product certification services, and other advantages of membership in the The SCO Group developer technical community. For more information, visit the The SCO Group Developer Network web site at www.sco.com/developers.
The Open Source Tool Kit is supported on and can be installed on the following platforms:
GNU C object files can be linked with UDK object files. Unfortunately, the various C++ compilers have different ABIs, and that difference precludes GNU C++ object files and C++ libraries from being successfully linked with UDK C++ object files and libraries.
While the contents of this OSTK release are modest when compared to the Skunkware releases, it contains the key development tools necessary to develop applications and participate in open source development projects. These tools are the primary tools needed to build many other open source software products.
This release contains the following tools in similarly named packages that are part of the OSTools package set:
Tool | Version | Description | Package Name | Space Required |
---|---|---|---|---|
GNU gcc | 2.95.3pl1 | Compiler collection - gcc, g++ and g77 | GNUgcc | 45,203 K bytes |
GNU binutils | 2.10.1 | Assembler and object file utilities | GNUbinutl | 2,413 K bytes |
GNU gdb | 5.0pl1 | GNU debugger | GNUgdb | 2,540 K bytes |
GNU make | 3.79.1 | Make utility (gmake) | GNUmake | 925 K bytes |
GNU m4 | 1.4 | Macro Processor | GNUm4 | 225 K bytes |
GNU gawk | 3.0.6 | GNU awk text processor | GNUgawk | 1,115 K bytes |
GNU bison | 1.28 | GNU parser generator (yacc replacement) | GNUbison | 415 K bytes |
GNU texinfo | 4.0 | Documentation system and browser | GNUtexinf | 1,447 K bytes |
GNU automake | 1.4 | GNU automake utilities | GNUautomk | 748 K bytes |
GNU autoconf | 2.13 | GNU autoconf utilities | GNUautocf | 778 K bytes |
flex | 2.5.4a | fast lexical analyzer generator | OSflex | 426 K bytes |
Total | OSTools | 56,235 K bytes |
- /usr/gnu/share/COPYING
- /usr/gnu/share/COPYING.LIB
- /usr/gnu/share/COPYING.flex
The GNU compiler collection is the GNU gcc 2.95.3 release containing compilers for C (gcc), C++ (g++ or c++), Fortran 77 (g77) and Objective C (objc) and the supporting runtime.
The OSTK version contains a few additional fixes to correct problems on Open UNIX 8 and UnixWare 7 systems. These corrections include:
The compilers have been configured:
/usr/gnu/bin/as
).
/usr/ccs/bin/ld
)
Online information:
gcc.gnu.org
Online documentation:
gcc.gnu.org/onlinedocs
The GNU binutils is a collection of utilities to access and manipulate object files, executable programs and shared objects. It includes:
Online information:
www.gnu.org/software/binutils/binutils.html.
Online documentation:
sources.redhat.com/binutils/docs-2.10.
The Open Source Tool Kit version of GDB is based on GDB 5.0. The GDB debugger is suitable for the debugging of GCC and UDK generated binaries. It contains fixes specific to Open UNIX 8 and UnixWare 7, primarily proper support for UW7/OU8 core files and essential support of the UDK C++ libraries since UW 7.1.1.
Online information:
www.gnu.org/software/gdb/gdb.html and
sources.redhat.com/gdb
Online documentation:
www.gnu.org/manual/gdb/ or
sources.redhat.com/gdb/#documentation
The widely used GNU make utility has some additional and handy features beyond the UNIX make that is part of the UDK. The GNU make can also be invoked as gmake.
Online information:
www.gnu.org/software/make/make.html
Online documentation:
www.gnu.org/manual/make/index.html
The GNU m4 is an implementation of the traditional UNIX macro processor. It is mostly SVR4 compatible although it has some extensions; please see the info documentation provided or refer to the material available on the web.
Online information:
www.gnu.org/software/m4/m4.html
Online documentation:
www.gnu.org/manual/m4/index.html
This release of GNU Awk 3.0.6 is upwardly compatible with the UNIX SRV5 version of awk. The OSTK executable is installed as gawk to avoid any possible differences that may affect the functionality of existing system command scripts.
Online information:
www.gnu.org/software/gawk/gawk.html
Online documentation:
www.gnu.org/manual/gawk/index.html
Bison is a general-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C program to parse that grammar. Bison is upward compatible with yacc; i.e., all properly written yacc grammars ought to work with Bison with no change.
Online information:
www.gnu.org/software/bison/bison.html
Online documentation:
www.gnu.org/manual/bison/index.html
Texinfo is a documentation system that uses a single source file to produce both online information and printed output. It contains utilities which generate printed manuals, plain ASCII text, and online hypertext documentation (called `Info'), and can read online Info documents that is provided with each package in the OSTK.
Online information:
www.gnu.org/software/texinfo/texinfo.html
Online documentation:
www.gnu.org/manual/texinfo/index.html
Automake is a tool for automatically generating Makefile.in
files compliant with the published GNU Coding Standards and is useful in
building many open source tools.
Online information:
www.gnu.org/software/automake/automake.html
Online documentation:
www.gnu.org/manual/automake/index.html>
Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages for compilation on different operating systems. It is used in the build processes of many open source tools.
Online information:
www.gnu.org/software/autoconf/autoconf.html
Online documentation:
www.gnu.org/manual/autoconf/index.html
Flex is a fast lexical analyzer generator. It is a tool for generating programs that perform pattern matching on text and is used to maintain the compilers.
Online information:
www.gnu.org/software/flex/flex.html
Online documentation:
www.gnu.org/manual/flex-2.5.4/flex.html
/usr/local/include
from gcc's default include file
search path.
Supported open source tools and libraries are placed in /usr/gnu/
,
and this is where gcc will look there for headers and associated libraries.
Gcc should not look into /usr/local/include
unless directed by
the user.
Complete installation of the OSTK requires approximately 57 Mbytes
of disk space on /usr
. All OSTK tools and
libraries will be installed
into /usr/gnu
. This is to avoid conflict with
other open source applications, typically installed in /usr/local
,
that you may have or want on your system. The exact disk space
requirements of individual packages are shown in the table above.
In addition to permanent disk space requirements, installation will require
a similar amount of temporary space in /var/tmp
. This should not
be an issue on freshly installed UnixWare 7.1.3 and Open Unix 8.0.0 systems. For an
upgraded system or installation on a UnixWare 7.1.1 system where
/var/tmp
is still a
relatively small (40 Mbytes default) MEMFS file system, installation
may fail. This can be avoided by commenting out the /var/tmp
entry in /etc/vfstab
and rebooting the system. Following
reboot, /var/tmp
will actually reside on the root file system (/
).
There are also the following dependencies between the packages:
Package | Requires the Follow Packages |
---|---|
GNUautcf - autoconf | GNUm4 version 1.4 |
GNUgcc - gcc | GNUbinutl 2.10.1 |
- either | UDK 7.1.3>. or OUDK 8.0.0 |
uccs - UDK Optimizing C Compilation System | |
syshead - System Header File Update | |
libc, libm and libthread - corresponding OS runtime | |
- or | UDK 7.1.1b Feature Supplement |
uccs - UDK Optimizing C Compilation System | |
sysheadfs - UDK FS System Header Files | |
libcfs, libmfs and libthreadfs - corresponding feature supplement runtime | |
- or | other UDK 7.x.x |
uccs - UDK Optimizing C Compilation System | |
NOTE: The g++ runtime requires the updated math library that is standard in the UDK 7.1.1b FS and later UDK releases. |
Within the Application Installer:
==> Install from CD-ROM_1
==> Update View
select OSTools
==> Install
If you have downloaded the OSTK 2.0.3 image from the
The SCO Group download
web site, you can install the OSTK with the pkgadd command
pkgadd -d /ftp_get_dir/OSTools_203.image
To execute the OSTK tools without specifying a complete path name,
/usr/gnu/bin
should be added to your PATH environment variable. The optimal
position will depend on what development tools you have on your system
and which you want to have precedence.
If you have other open source applications such as Skunkware on your system and you wish to have the OSTK tools take precedence, add the OSTK path ahead of the Skunkware path.
PATH=....:/usr/gnu/bin:/usr/local/bin:....
Because some version of the UDK C compilation system is required so that
development libraries, linker and system header files are available
for GNUgcc, the UNIX object file utilities will be on the system
and in your default PATH. Since these are identically named,
your preferences will dictate the placement of /usr/gnu/bin
with
respect to /usr/ccs/bin
, /usr/bin
and
/bin
.
The GNU compilers will access the GNU assembler and the UNIX linker by
full path name and are not affected by PATH ordering.
The man pages that are available for the OSTK tools are installed in
the /usr/gnu/man
. Both man and cat pages are
provided. These man pages can be accessed by either
/usr/gnu/man
added. If you have installed UNIX documentation,
do not forget to include the MANPATH paths defined in
/etc/default/man
.
While proponents of either the OUDK or OSTK will be familiar with their preferred compiler's options, the different spelling of options for similar functionality may be confusing to some.
Function | OUDK option | GCC option |
---|---|---|
generate position independent code (PIC) |
-Kpic -KPIC |
-fpic -fPIC |
compile for and link with threads library
(do not specify -lthread) |
-Kthread -KthreadT |
-pthread -pthreadT |
link a shared object | -G | -shared |
generate floating point code conforms to strict IEEE floating
point and C standards |
-Kieee <default> | -fno_fast_math |
generate more aggressive FP code under the assumption that no
exception conditions, NaNs or infinities are encountered | -Kno_ieee |
-ffast_math <default> |
schedule instructions for i486 processors | -Ki486 | -march=i486 |
schedule instructions for Pentium processors | -Kpentium | -march=i586 |
schedule instructions for Pentium Pro, P-II, P-III processors | -Kpentium_pro | -march=i686 |