DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

Chapter 3. Compilers and other developer tools

Table of Contents
3.1. About the GNU Tools
3.2. C/C++ Compilers and Tools
3.3. Linker, Assembler, and Object File Manipulation Tools
3.4. Debuggers and Code Analysis Tools
3.5. Tools for Libraries and Archives
3.6. Perl
3.7. Java
3.8. Fortran
3.9. Other tools

The Caldera OpenLinux Workstation includes many tools for developers. These are summarized in this chapter. More information about these is available through the man and info commands, the DocView, KHelpCenter, and KDevelop documentation servers/browsers. Additional information is available at various web pages and news groups.

Additional tools are available from third party vendors. See the Caldera home page for information about these.

3.1. About the GNU Tools

The GNU toolchain is a set of compilers and development tools that are the foundation of the Linux development environment and are also supported on many other platforms. These and other handy development tools are available at the www.gnu.org website. Built versions of many of these tools are included on the Caldera OpenLinux Workstation, either in the main development system or on the "contrib" CD.

All source code for GNU tools is available; anyone can download, build, and use them for free. You can also download the current "Top of Tree" and make modifications to the tools that are needed. If you fix a bug or add a significant feature, you should contribute it back to the community, although this is not required if you do not distribute your altered software. If you distribute such work, you are actually required to distribute your source and contribute it back to thw owner of the original software. See http://gcc.gnu.org for more information about participating in this work; always consult with your own legal authorities about your specific rights and obligations for any work you are doing.

Several different license types can be used for code that is contributed to the Open Source community. See www.opensource.org for an overview of the terms and restrictions of the different licenses.

Note that you are not required to provide the source for an application that is created using the GNU toolchain. You must, however, carefully check the license type of all libraries that are used in the code: libraries that are covered by a GPL can only be used in free software; libraries that are covered by an LGPL can be used in free or proprietary software. The www.gnu.org web page provides more information about the terms of the different licenses; when in doubt, consult your legal experts.

Sometimes "free software" is confused with "open sourced software." See www.fsf.org/philosophy/free-sw.html for a description of free software.

This is a list of some of the most popular tools that are included on the Caldera OpenLinux Workstation. More information about each is provided on the system in info files and manpages.

3.2. C/C++ Compilers and Tools

The C compiler provided for the OpenLinux Workstation is the same compiler used to build the operating system.

gcc 

GNU C compiler, Release 2.95.2

g++ 

GNU C++ compiler, Release 2.95.2

For details about the current C compilation tools, see the /usr/share/doc/packages/gcc-2.95.2/NEWS file. Note that EGCS is essentially the predecessor of GCC 2.95.2.

3.3. Linker, Assembler, and Object File Manipulation Tools

as 

GNU assembler

gasp 

Preprocessor for the GNU assembler

imake 

C preprocessor interface to make

kdoc 

C++ documentation extraction and generation tool

ld 

GNU linker/loader

make 

Manage compilation and dependencies for an application

nlmconv 

Convert relocatable object file into a NetWare Loadable Module

nm 

List symbols from an object file

objcopy 

Copy an object file

objdump 

Display information from object files

readelf 

Display info about ELF format object files

size 

List section sizes and total size of an object file

strip 

Discard symbols from object files

3.4. Debuggers and Code Analysis Tools

addr2line 

Translate program addresses into file names and line numbers

gprof 

Program profiler

cscope 

Interactively examine a C program

gdb 

Application debugger

kallsyms 

Extract all kernel symbols for debugging

ltrace 

Trace library calls

makeg 

Make a debuggable executable target for imake

strace 

Trace system calls and signals

strings 

Print printable command sequences from a non-text file

Graphical front ends are provided for gdb:

DDD 

provides graphical visualization of data structures and their relationships and 3D data visualization capabilities for arrays.

KDbg, KDevelop embedded debugger
  

KDevelop includes its own embedded debugger that allows you to debug programs in the editor and is especially useful for C++ programs. KDevelop can also be configured to call one of the other gdb frontends or another debugger of your choice

3.5. Tools for Libraries and Archives

ar 

Create, modify, and extract from a library archive

libtool 

Manage shared libraries

ranlib 

Generate index for an archive

3.6. Perl

Perl is an interpreted, high-level programming language. It is a popular scripting language for web applications, especially CGI programs. Perl can also be used as a rapid prototyping language, a "glue" language that enables different systems to work well together, and for automating system administration tasks. The following Perl commands are included on the OpenLinux Workstation:

perl 

Perl interpreter

perlcc 

Frontend for Perl compiler

man perlcompile 

Introduction to the Perl Compiler-Translator

perldoc 

Look up documentation about Perl language and installed Perl modules

xsubpp 

Compiler to convert Perl XS code into C code

See www.perl.com/pub for additional information.

3.7. Java

The Java 2 JDK version 1.3 with plug-in support is included on the Caldera OpenLinux Workstation. JDK is a development environment for building applications, applets, and components that can be deployed on the Java platform. It includes tools useful for developing and testing programs written in Java and for running Java applications. Commercial IDEs for Java development are provided in the commercial version of the OpenLinux Workstation or can be purchased separately.

Java is distributed in two packages: The JRE (Java Runtime Environment) contains the Virtual Machine needed to run Java applications; the JDK (Java Development Kit) contains the files needed to build Java applications. The JRE can be installed without the JDK but the JDK cannot be installed without the JRE.

Most of the Java commands have manual pages or embedded help. If you cannot find a manual page for a command, run the command from a shell prompt and look at the help information that is provided.

appletviewer 

Java applet viewer

extcheck 

JAR (Java Archive) conflict detection utility

java 

Invoke the JVM for standalone applications

javac 

Java compiler

javah 

C header and stub file generator"

javap 

Java class file disassembler

jarsigner 

JAR (Java ARchive) signing and verification tool

javadoc 

Java API documentation generator

jdb 

Java debugger

keytool 

Key and certificate management tool

native2ascii 

Convert files that contain character encoding other than Latin-1 or Unicode-encoded characters to the character sets that java(1) can process.

policytool, rmic 

Java RMI stub compiler

rmid 

RMI activation system daemon

rmiregistry 

Java remote object registry

serialver 

Return serial version for one or more classes in a form suitable for copying into an evolving class.

tnameserv 

Java IDL name server starter script

Full information about Java is available at the java.sun.com webpage.

3.8. Fortran

The OpenLinux Workstation includes the GNU Fortran-77 compiler, g77. A number of other Fortran compilers are available from third parties.

3.9. Other tools

gawk 

Enhaced awk

rpcgen 

RPC protocol compiler

python 

Python object-oriented interpreter