Next Up Previous Contents Index
Development

C.4 Development

This section contains packages of interest to programmers. Red Hat Linux comes with a very powerful and rich set of tools for the programmer, so there are several different subsections here.

C.4.1 Building

This section contains packages that help programmers easily build programs.

autoconf -- (Version 2.12, 524K)
[W] [S]

GNU's "autoconf" is a tool for source and Makefile configuration. It assists the programmer in creating portable and configurable packages, by allowing the person building the package to specify various configuration options.

"autoconf" is not required for the end user - it is needed only to generate the configuration scripts.

automake -- (Version 1.3, 777K)
[W] [S]

Automake is an experimental Makefile generator. It was inspired by the 4.4BSD make and include files, but aims to be portable and to conform to the GNU standards for Makefile variables and targets.

libtool -- (Version 1.2b, 485K)

GNU libtool is a set of shell scripts to automatically configure UNIX architectures to build shared libraries in generic fashion.

make -- (Version 3.76.1, 247K)
[W] [S]

The program make is used to coordinate the compilation and linking of a set of sources into a program, recompiling only what is necessary, thus saving a developer a lot of time. In fact, make can do a lot more - read the info docs.

pmake -- (Version 1.0, 123K)
[W] [S]

The program make is used to coordinate the compilation and linking of a set of sources into a program, recompiling only what is necessary, thus saving a developer a lot of time. In fact, make can do a lot more - read the info docs.

Pmake is a particular version of make which supports some additional syntax not in the standard make program. Some berkeley programs have Makefiles written for pmake.

C.4.2 Debuggers

This section contains a number of packages that make it easier to find bugs in a program.

ElectricFence -- (Version 2.0.5, 44K)
[W] [S]

Electric Fence is a libary that can be used for C programming and debugging. You link it in at compile time and it will warn you of possible problems such as free'ing memory that doesn't exist, etc.

gdb -- (Version 4.17.0.4, 1,251K)
[W] [S]

This is a full featured, command driven debugger. It allows you to trace the exectuion of programs and examine their internal state at any time. It works for C and C++ compiled with the GNU C compiler gcc.

strace -- (Version 3.1, 114K)
[W] [S]

Strace prints a record of each system call another program makes, including all of the arguments passed to it and the system call's return value.

xxgdb -- (Version 1.12, 95K)
[W]

xxgdb is a graphical interface to GNU's debugger. It has the ability to display source files as they are executed, set breakpoints, and singlestep through or over commands - all with an easy-to-use graphical X Windows interface.

C.4.3 Languages

This section lists the packages containing various programming languages.

basic -- (Version 1.20, 52K)

This is a BASIC language interpreter. You can use it to run programs written in BASIC. For those who may not know, BASIC is an archaic language used only to learn early fundamentals of programming, and it isn't very good for that, either. :-)

bin86 -- (Version 0.4, 70K)
[W] [S]

This package provides an assembler and linker for real mode 80x86 instructions. Programs that run in real mode, including LILO and the kernel's bootstrapping code, need to have this package installed to be built from the sources.

blt -- (Version 2.4f, 4,096K)

BLT provides extra widgets and commands for tk programs. It includes graphing widgets, table geometry management, and folder widgets.

ctags -- (Version 2.0.3, 77K)
[W] [S]

A better ctags which generates tags for all possible tag types: macro definitions, enumerated values (values inside enum...), function and method definitions, enum/struct/union tags, external function prototypes (optional), typedefs, and variable declarations. It is far less easily fooled by code containing #if preprocessor conditional constructs, using a conditional path selection algorithm to resolve complicated choices, and a fall-back algorithm when this one fails. Can also be used to print out a list of selected objects found in source files.

egcs -- (Version 1.0.3a, 2,782K)
[W] [S]

A compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment.

egcs-c++ -- (Version 1.0.3a, 1,780K)
[W]

This package adds C++ support to the GNU C compiler. It includes support for most of the current C++ specification, including templates and exception handling. It does not include a standard C++ library, which is available separately.

egcs-g77 -- (Version 1.0.3a, 2,356K)

This apckage adds support for compiling Fortran 77 programs with the GNU compiler.

egcs-objc -- (Version 1.0.3a, 1,490K)

This package adds Objective C support to the GNU C compiler. Objective C is a object oriented derivative of the C language, mainly used on systems running NeXTSTEP. This package does not include the standard objective C object library.

expect -- (Version 5.26, 746K)
[W] [S]

Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. It makes it easy for a script to control another program and interact with it.

f2c -- (Version 19970805, 819K)

f2c is a Fortran to C translation and building program. It can take fortran source code, convert it to C, and then use gcc to compile it into an executable.

fort77 -- (Version 1.14a, 11K)

This is the driver for f2c, a fortran to C translator.

gcc -- (Version 2.7.2.3, 2,041K)
[W] [S]

The GNU C compiler -- a full featured ANSI C compiler, with support for K&R C as well. GCC provides many levels of source code error checking tradionaly provided by other tools (such as lint), produces debugging information, and can perform many different optimizations to the resulting object code. This contains the back end for C++ and Objective C compilers as well.

guavac -- (Version 1.2, 2,564K)

Guavac is a standalone compiler for the Java programming language. It was written entirely in C++, and should be portable to any platform supporting Gnu's C++ compiler or a similarly powered system.

guile -- (Version 1.2, 634K)

Guile, a portable, embeddable Scheme implementation written in C. Guile provides a machine independent execution platform that can be linked in as a library when building extensible programs.

guile-devel -- (Version 1.2, 1,949K)

What's needed to develop apps linked w/ guile

kaffe -- (Version 1.0.b1, 1,495K)

This is Kaffe, a virtual machine designed to execute Java bytecode. This machine can be configured in two modes. In one mode it operates as a pure bytecode interpreter (not unlike Javasoft's machine); in the second mode if performs "just-in-time" code conversion from the abstract code to the host machine's native code. This will ultimately allow execution of Java code at the same speed as standard compiled code but while maintaining the advantages and flexibility of code independence.

p2c-devel -- (Version 1.20, 24K)

This is the development kit for the Pascal to C translator. It contains the header files and some other programs that might be useful to someone using the translator.

python -- (Version 1.5.1, 5,320K)
[B]

Python in an interpreted, object orientated scripting language. If contains support for dynamic loading of objects, classes, modules, and exceptions. Adding interfaces to new system libraries through C code is straightforward, making Python easy to use in custom settings.

This Python package includes most of the standard Python modules, along with modules for interfacing to the Tix widget set for Tk and RPM.

python-devel -- (Version 1.5.1, 2,877K)

The Python interpreter is relatively easy to extend with dynamically loaded extensions and to embed in other programs. This packages contains the header files and libraries which are needed to do both of these tasks.

python-docs -- (Version 1.5.1, 2,611K)

This package contains documentation on the Python language and interpretor as a mix of plain ASCII files and LaTeX sources.

tcl -- (Version 8.0.3, 5,464K)
[W] [S]

TCL is a simple scripting language that is designed to be embedded in other applications. This package includes tclsh, a simple example of a tcl application. TCL is very popular for writing small graphical applications because of the TK widget set which is closely tied to it.

tclx -- (Version 8.0.3, 1,942K)
[W] [S]

TclX is a set of extensions to make it more suitable for common Unix programming tasks. It adds or enhances support for files, network access, debugging, math, lists, and message catalogs. It can be used with both tcl and tcl/tk applications.

tix -- (Version 4.1.0.6, 2,709K)
[W] [S]

Tix is a add on for the tk widget set which adds many complex widgets which are built from tk building blocks. The extra widgets include combo box, file selection, notebooks, paned windows, spin controls, and hierarchical list boxes.

tk -- (Version 8.0.3, 5,227K)
[W] [S]

Tk is a X Windows widget set designed to work closely with the tcl scripting language. It allows you to write simple programs with full featured GUI's in only a little more time then it takes to write a text based interface. Tcl/Tk applications can also be run on Windows and Macintosh platforms.

tkinter -- (Version 1.5.1, 639K)
[W] [S]

A graphical interface for Python, based on Tcl/Tk, and used by many of the configuration tools.

umb-scheme -- (Version 3.2, 1,211K)

UMB Scheme is an implementation of the language described in the IEEE Standard for the Scheme Programming Language (December, 1990).

xlispstat -- (Version 3.52.5, 2,847K)

An implementation of the Lisp programming language for X-Windows, with extensions for advanced statistics computations.

C.4.4 Libraries

This section contains packages of the various libraries. Some libraries are required for normal system operation, while others are only needed if you will be using their features in a program you're writing.

cracklib -- (Version 2.7, 69K)
[B]

Checks passwords for security related characteristics - length, uniqueness, whether they are in a word database, etc.

e2fsprogs-devel -- (Version 1.12, 257K)

Libraries and header files needed to develop ext2 filesystem-specific programs.

faces-devel -- (Version 1.6.1, 22K)
[W]

This is the xface development environment. It contains the static libraries and header files for doing xface development.

gd-devel -- (Version 1.3, 7K)
[W]

This package contains the files needed for development of programs linked against GD.

gdbm-devel -- (Version 1.7.3, 70K)
[W]

These are the development libraries and header files for gdbm, the GNU database system. These are required if you plan to do development using the gdbm database.

glibc -- (Version 2.0.7, 15,608K)
[B]

Contains the standard libraries that are used by multiple programs on the system. In order to save disk space and memory, as well as to ease upgrades, common system code is kept in one place and shared between programs. This package contains the most important sets of shared libraries, the standard C library and the standard math library. Without these, a Linux system will not function. It also contains national language (locale) support and timezone databases.

glibc-debug -- (Version 2.0.7, 2K)

These libraries have the debugging information debuggers use for tracing the execution of programs. These are only needed when the shared libraries themselves are being debugged -- they are not needed to debug programs which use them.

glibc-devel -- (Version 2.0.7, 11,688K)
[W] [S]

To develop programs which use the standard C libraries (which nearly all programs do), the system needs to have these standard header files and object files available for creating the executables.

glibc-profile -- (Version 2.0.7, 10,010K)

When programs are being profiled used gprof, they must use these libraries instrad of the standard C libraries for gprof to be able to profile them correctly.

gpm-devel -- (Version 1.13, 23K)
[W]

This package allows you to develop your own text-mode programs that take advantage of the mouse.

inn-devel -- (Version 1.7.2, 128K)

This library is needed by several programs that interface to INN, such as newsgate or tin.

libgr-devel -- (Version 2.0.13, 302K)
[W]

This package is all you need to develop programs that handle the various graphics file formats supported by libgr.

libjpeg-devel -- (Version 6b, 228K)
[W]

This package is all you need to develop programs that manipulate jpeg images, including documentation.

libpng-devel -- (Version 1.0.1, 332K)
[W]

The header files and static libraries are only needed for development of programs using the PNG library.

libstdc++-devel -- (Version 2.8.0, 1,090K)
[W]

This is the GNU implementation of the standard C++ libraries. This package includes the header files and libraries needed for C++ development.

libtiff-devel -- (Version 3.4, 1,372K)
[W]

This package is all you need to develop programs that manipulate tiff images.

libungif-devel -- (Version 3.0, 237K)

Libraries and headers needed for developing programs that use libungif to load and save gif image files.

ncurses-devel -- (Version 4.2, 6,418K)
[W]

This package includes the header files and libraries necessary to develop applications that use ncurses.

newt-devel -- (Version 0.30, 116K)
[W]

These are the header files and libraries for developing applications which use newt. Newt is a windowing toolkit for text mode, which provides many widgets and stackable windows.

postgresql-devel -- (Version 6.3.2, 1,000K)
[S]

This package contains header files and libraries required to compile applications that are talking directly to the PostgreSQL backend server.

pythonlib -- (Version 1.22, 236K)
[B] [W] [S]

This package contains code used by a variety of Red Hat programs. It includes code for multifield listboxes and entry widgets with non-standard keybindings, among others.

readline-devel -- (Version 2.2.1, 255K)
[W]

The "readline" library will read a line from the terminal and return it, using prompt as a prompt. If prompt is null, no prompt is issued. The line returned is allocated with malloc(3), so the caller must free it when finished. The line returned has the final newline removed, so only the text of the line remains.

rpm-devel -- (Version 2.5.5, 232K)
[W]

The RPM packaging system includes a C library that makes it easy to manipulate RPM packages and databases. It is intended to ease the creation of graphical package managers and other tools that need intimate knowledge of RPM packages.

slang-devel -- (Version 0.99.38, 472K)
[W]

This package contains the slang static libraries and header files required to develop slang-based applications. It also includes documentation to help you write slang-based apps.

svgalib-devel -- (Version 1.3.0, 751K)
[W]

These are the libraries and header files that are needed to build programs which use SVGAlib. SVGAlib allows programs to use full screen graphics on a variety of hardware platforms and without the overhead X requires.

xpm-devel -- (Version 3.4j, 217K)
[W]

Allows you to develop applications that display bitmaps in X-Windows.

zlib-devel -- (Version 1.1.3, 162K)
[W]

The 'zlib' compression library provides in-memory compression and decompression functions, including integrity checks of the uncompressed data. This version of the library supports only one compression method (deflation) but other algorithms may be added later and will have the same stream interface.

This package contains the header files and libraries needed to develop programs that use these zlib.

C.4.5 System

This section lists the packages containing system-level development tools.

linuxconf-devel -- (Version 1.12r5, 2,706K)
[W]

This package provides the components needed to develop linuxconf modules outside of the linuxconf source tree. The kit is also needed to develop standalone utilities using the linuxconf user interface toolkit.

C.4.6 Tools

This section contains packages that provide the usual assortment of tools that programmers require.

binutils -- (Version 2.9.1.0.14, 4,537K)
[B] [W] [S]

Binutils is a collection of utilities necessary for compiling programs. It includes the assembler and linker, as well as a number of other miscellaneous programs for dealing with executable formats.

bison -- (Version 1.25, 154K)
[W] [S]

This is the GNU parser generator which is mostly compatible with yacc. Many programs use this as part of their build process. Bison is only needed on systems that are used for development.

byacc -- (Version 1.9, 52K)
[W] [S]

This is a public domain yacc parser. It is used by many programs during their build process. You probably want this package if you do development.

cdecl -- (Version 2.5, 74K)
[W] [S]

This is a package to translate English to C/C++ function declarations and vice versa. It is useful for programmers.

cproto -- (Version 4.4, 84K)
[W] [S]

Cproto generates function prototypes for functions defined in the specified C source files to the standard output. The function definitions may be in the old style or ANSI C style. Optionally, cproto also outputs declarations for variables defined in the files. If no file argument is given, cproto reads its input from the standard input.

flex -- (Version 2.5.4a, 290K)
[W] [S]

This is the GNU fast lexical analyzer generator. It generates lexical tokenizing code based on a lexical (regular expression based) description of the input. It is designed to work with both yacc and bison, and is used by many programs as part of their build process.

gettext -- (Version 0.10.35, 824K)
[W] [S]

The gettext library provides an easy to use library and tools for creating, using, and modifying natural language catalogs. It is a powerfull and simple method for internationalizing programs.

gperf -- (Version 2.7, 245K)

GNU gperf generates perfect hash functions for sets of key words. A perfect hash function is simply:

A hash function and a data structure that allows recognition of a key word in a set of words using exactly 1 probe into the data structure.

indent -- (Version 1.9.1, 80K)

This is the GNU indenting program. It is used to beautify C program source files.

xwpe -- (Version 1.5.12a, 712K)

XWPE is actually a package of four programs: we, wpe, xwe, and xwpe. They are different versions of the same basic programmers editor and development environment. If you have used some of the Micro$oft Windows programming IDE's and longed for an X Windows equivalent, this is what you have been looking for! Also included are the text-mode equivalents of the X programs, enabling you to use xwpe no matter what your development environment may be.

This package includes the basic xwpe libraries and the text-mode programs; the X Windows programs are contained in the 'xwpe-X11' package.

C.4.7 Version Control

This section contains packages that allow the programmer to implement various forms of version control over their programs.

cvs -- (Version 1.10.2, 3,024K)
[W] [S]

CVS is a front end to the rcs(1) revision control system which extends the notion of revision control from a collection of files in a single directory to a hierarchical collection of directories consisting of revision controlled files. These directories and files can be combined together to form a software release. CVS provides the functions necessary to manage these software releases and to control the concurrent editing of source files among multiple software developers.

rcs -- (Version 5.7, 487K)
[W] [S]

The Revision Control System (RCS) manages multiple revisions of files. RCS automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, graphics, papers, and form letters.


Next Up Previous Contents Index