This section contains packages that are associated with the development of software under Red Hat Linux.
This section contains packages that are associated with debugging programs under Red Hat Linux.
Gdb is a full featured, command driven debugger. Gdb allows you to trace the execution of programs and examine their internal state at any time. Gdb works for C and C++ compiled with the GNU C compiler gcc.
If you are going to develop C and/or C++ programs and use the GNU gcc compiler, you may want to install gdb to help you debug your programs.
Lslk is a lock file lister. Lslk attempts to list all of the locks on the executing system's local files (i.e., on the active inodes).
Install lslk if you need a utility for listing file locks.
Lsof's name stands for LiSt Open Files, and it does just that. It lists information about files that are open by the processes running on a UNIX system.
Ltrace is a debugging program which runs a specified command until the command exits. While the command is executing, ltrace intercepts and records both the dynamic library calls called by the executed process and the signals received by the executed process. Ltrace can also intercept and print system calls executed by the process.
You should install ltrace if you need a sysadmin tool for tracking the execution of processes.
The strace program intercepts and records the system calls called and received by a running process. Strace can print a record of each system call, its arguments and its return value. Strace is useful for diagnosing problems and debugging, as well as for instructional purposes.
Install strace if you need a tool to track the system calls made and received by a process.
Xxgdb is an X Window System graphical interface to the GNU gdb debugger. Xxgdb provides visual feedback and supports a mouse interface for the user who wants to perform debugging tasks like the following: controlling program execution through breakpoints, examining and traversing the function call stack, displaying values of variables and data structures, and browsing source files and functions.
Install the xxgdb package if you'd like to use a graphical interface with the GNU gdb debugger. You'll also need to have the gdb package installed.
This section contains packages that are associated with the programming languages available under Red Hat Linux.
The C preprocessor is a 'macro processor' which is used automatically by the C compiler to transform your program before actual compilation. It is called a macro processor because it allows you to define 'macros,' which are abbreviations for longer constructs.
The C preprocessor provides four separate facilities that you can use as you see fit:
* Inclusion of header files. These are files of declarations that can be substituted into your program. * Macro expansion. You can define 'macros,' which are abbreviations for arbitrary fragments of C code, and then the C preprocessor will replace the macros with their definitions throughout the program. * Conditional compilation. Using special preprocessing directives, you can include or exclude parts of the program according to various conditions. * Line control. If you use a program to combine or rearrange source files into an intermediate file which is then compiled, you can use line control to inform the compiler about where each source line originated.
You should install this package if you are a programmer who is searching for such a macro processor.
EGCS is a free software project that intends to further the development of GNU compilers using an open development environment. The egcs package contains the egcs compiler, a compiler aimed at integrating all the optimizations and features necessary for a high-performance and stable development environment.
Install egcs if you'd like to use an experimental GNU compiler.
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 include the static standard C++ library and C++ header files; the library for dynamically linking programs is available separately.
The egcs-g77 package provides support for compiling Fortran 77 programs with the GNU gcc compiler.
You should install egcs-g77 if you are going to do Fortran development and you would like to use the gcc compiler. You will also need to install the gcc package.
Egcs-objc provides Objective C support for the GNU C compiler (gcc). Mainly used on systems running NeXTSTEP, Objective C is an object-oriented derivative of the C language.
Install egcs-objc if you are going to do Objective C development and you would like to use the gcc compiler. You will also need to install the gcc package.
Expect is a tcl extension for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect is also useful for testing the named applications. Expect makes it easy for a script to control another program and interact with it.
Install the expect package if you'd like to develop scripts which interact with interactive applications. You'll also need to install the tcl package.
This package installs basic libraries you must have to use GNOME programs that are built with Objective C.
GNOME is the GNU Network Object Model Environment. It's a powerful, pleasing, easy to use and configure environment for your computer.
The guavac package includes guavac and guavad. Guavac is a stand-alone compiler for the Java programming language. Guavac was written entirely in C++ and it should be portable to any platform supporting GNU's C++ (gcc) or a similar compiler. Guavad is guavac's disassembler.
Install guavac if you need a Java compiler on your system.
GUILE (GNU's Ubiquitous Intelligent Language for Extension) is a library implementation of the Scheme programming language, written in C. GUILE provides a machine-independent execution platform that can be linked in as a library during the building of extensible programs.
Install the guile package if you'd like to add extensibility to programs that you are developing. You'll also need to install the guile-devel package.
[incr Tcl] is an object-oriented extension of the Tcl language. It was created to support more structured programming in Tcl. Tcl scripts that grow beyond a few thousand lines become extremely difficult to maintain. This is because the building blocks of vanilla Tcl are procedures and global variables, and all of these building blocks must reside in a single global namespace. There is no support for protection or encapsulation.
[incr Tcl] introduces the notion of objects. Each object is a bag of data with a set of procedures or "methods" that are used to manipulate it. Objects are organized into "classes" with identical characteristics, and classes can inherit functionality from one another. This object-oriented paradigm adds another level of organization on top of the basic variable/procedure elements, and the resulting code is easier to understand and maintain.
Kaffe is a free virtual machine designed to execute Java(TM) bytecode. Kaffe can be configured in two modes. In the first mode, it operates as a pure bytecode interpreter (not unlike Javasoft's machine). In the second mode, it performs "just-in-time" code conversion from the abstract code to the host machine's native code. The second mode will ultimately allow execution of Java code at the same speed as standard compiled code, while also maintaining the advantages and flexibility of code independence.
Install the kaffe package if you need a Java virtual machine.
The p2c-devel package contains the files necessary for development of the p2c Pascal to C translation system.
Install the p2c-devel package if you want to do p2c development.
Perl is a high-level programming language with roots in C, sed, awk and shell scripting. Perl is good at handling processes and files, and is especially good at handling text. Perl's hallmarks are practicality and efficiency. While it is used to do a lot of different things, Perl's most common applications (and what it excels at) are probably system administration utilities and web programming. A large proportion of the CGI scripts on the web are written in Perl. You need the perl package installed on your system so that your system can handle Perl scripts.
The perl-MD5 package provides the MD5 module for the Perl programming language. MD5 is a Perl interface to the RSA Data Security Inc. Message Digest Algorithm, which allows Perl programs to use the algorithm.
The perl-MD5 package should be installed if any Perl programs on your system are going to use RSA's Message Digest Algorithm.
PyGNOME is an extension module for python that gives you access to the base GNOME libraries. This means you have access to more widgets, simple configuration interface, metadata support and many other features.
PyGTK is an extension module for python that gives you access to the GTK+ widget set. Just about anything you can write in C with GTK+ you can write in python with PyGTK (within reason), but with all of python's benefits.
Python is an interpreted, interactive, object-oriented programming language often compared to Tcl, Perl, Scheme or Java. Python includes modules, classes, exceptions, very high level dynamic data types and dynamic typing. Python supports interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac and MFC).
Programmers can write new built-in modules for Python in C or C++. Python can be used as an extension language for applications that need a programmable interface. This package contains most of the standard Python modules, as well as modules for interfacing to the Tix widget set for Tk and RPM.
Note that documentation for Python is provided in the python-docs package.
Tcl is a simple scripting language designed to be embedded into other applications. Tcl is designed to be used with Tk, a widget set, which is provided in the tk package. This package also includes tclsh, a simple example of a Tcl application.
If you're installing the tcl package and you want to use Tcl for development, you should also install the tk and tclx packages.
TclX is a set of extensions which make it easier to use the Tcl scripting language for common UNIX/Linux programming tasks. TclX enhances Tcl support for files, network access, debugging, math, lists, and message catalogs. TclX can be used with both Tcl and Tcl/Tk applications.
Install TclX if you are developing applications with Tcl/Tk. You'll also need to install the tcl and tk packages.
Tix (Tk Interface Extension), an add-on for the Tk widget set, is an extensive set of over 40 widgets. In general, Tix widgets are more complex and more capable than the widgets provided in Tk. Tix widgets include a ComboBox, a Motif-style FileSelectBox, an MS Windows-style FileSelectBox, a PanedWindow, a NoteBook, a hierarchical list, a directory tree and a file manager.
Install the tix package if you want to try out more complicated widgets for Tk. You'll also need to have the tcl and tk packages installed.
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.
The Tkinter (Tk interface) program is an graphical user interface for the Python scripting language.
You should install the tkinter package if you'd like to use a graphical user interface for Python programming.
UMB Scheme is a public domain implementation of the Scheme programming language. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language, designed with clear and simple semantics and a minimal number of ways to form expressions.
Install the umb-scheme package if you need an implementation of the Scheme programming language.
This section contains packages that are associated with the libraries used during the development of software under Red Hat Linux.
If you want to create applications that will use ImageMagick code or APIs, you'll need to install these packages as well as ImageMagick. These additional packages aren't necessary if you simply want to use ImageMagick, however.
ImageMagick-devel is an addition to ImageMagick which includes static libraries and header files necessary to develop applications.
ORBit is a high-performance CORBA ORB (object request broker) with support for the C language. It allows programs to send requests and receive replies from other programs, regardless of the locations of the two programs.
This package contains the header files, libraries and utilities necessary to write programs that use CORBA technology.
XFree86-devel includes the libraries, header files and documentation you'll need to develop programs which run in X clients. XFree86 includes the base Xlib library as well as the Xt and Xaw widget sets.
For guidance on programming with these libraries, O'Reilly & Associates produces a series on X programming which you might find useful.
Install XFree86-devel if you are going to develop programs which will run as X clients.
Xaw3d is an enhanced version of the MIT Athena widget set for the X Window System. Xaw3d adds a three-dimensional look to those applications with minimal or no source code changes. Xaw3d-devel includes the header files and static libraries for developing programs that take full advantage of Xaw3d's features.
You should install Xaw3d-devel if you are going to develop applications using the Xaw3d widget set. You'll also need to install the Xaw3d package.
The apache-devel package contains the source code for the Apache 1.3.1 Web server and the APXS binary you'll need to build Dynamic Shared Objects (DSOs) for Apache.
If you are installing the Apache Web server version 1.3.1, and you want to be able to compile or develop additional modules for Apache, you'll need to install this package.
Libraries, include files and other resources you can use to develop audiofile applications.
The bind-devel package contains all the include files and the library required for DNS (Domain Name Service) development for bind versions 8.x.x.
You should install bind-devel if you want to develop bind DNS applications. If you install bind-devel, you'll need to install bind, as well.
If you're interested in developing panels for the GNOME control center, you'll want to install this package.
Control-center-devel helps you create the 'capplets' which are used in the control center.
E2fsprogs-devel contains the libraries and header files needed to develop second extended (ext2) filesystem-specific programs.
You should install e2fsprogs-devel if you want to develop ext2 filesystem-specific programs. If you install e2fsprogs-devel, you'll also want to install e2fsprogs.
Libraries, include files and other resources you can use to develoop EsounD applications.
Faces-devel contains the faces program development environment, (i.e., the static libraries and header files).
If you want to develop Faces applications, you'll need to install faces-devel. You'll also need to install the faces package.
Headers, static libraries and documentation for Fnlib.
This package is only needed if you intend to develop or compile applications which rely on the FreeType library. If you simply want to run existing applications, you won't need this package.
These are the development libraries and header files for gd, the .gif graphics library.
If you're installing the gd graphics library, you must install gd-devel.
Gdbm-devel contains the development libraries and header files for gdbm, the GNU database system. These libraries and header files are necessary if you plan to do development using the gdbm database.
Install gdbm-devel if you are developing C programs which will use the gdbm database library. You'll also need to install the gdbm package.
gEdit is a small but powerful text editor for GTK+ and/or GNOME. This package allows you to develop plugins that work within gEdit. Plugins can create new documents and manipulate documents in arbitrary ways.
Static libraries and header files for writing GIMP plugins and extensions.
Static libraries and header files for the support library for the GIMP's X libraries, which are available as public libraries. GLIB includes generally useful data structures.
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.
When programs are being profiled using gprof, they must use these libraries instead of the standard C libraries for gprof to be able to profile them correctly.
The static libraries, header files and documentation for using the GNU MP arbitrary precision library in applications.
If you want to develop applications which will use the GNU MP library, you'll need to install the gmp-devel package. You'll also need to install the gmp package.
Panel libraries and header files for creating GNOME panels.
This packages installs the libraries and files needed to develop some GNOME games.
GNOME (GNU Network Object Model Environment) is a user-friendly set of applications and desktop tools to be used in conjunction with a window manager for the X Window System. GNOME is similar in purpose and scope to CDE and KDE, but GNOME is based completely on Open Source software. The gnome-libs-devel package includes the libraries and include files that you will need to develop GNOME applications.
You should install the gnome-libs-devel package if you would like to develop GNOME applications. You don't need to install gnome-libs-devel if you just want to use the GNOME desktop environment. If you are going to develop GNOME applications and/or you're going to use the GNOME desktop environment, you'll also need to install the gnome-core and gnome-libs packages. If you want to use Linuxconf with a GNOME front end, you'll also need to install the gnome-linuxconf package.
Libraries, include files and other files you can use to develop Objective C GNOME applications.
If you're interested in developing GNOME applications, you should install this package.
Files needed to develop apps which interact with gnome-pim applications via CORBA.
The gpm-devel program contains the libraries and header files needed for development of mouse driven programs. This package allows you to develop text-mode programs which use the mouse.
Install gpm-devel if you need to develop text-mode programs which will use the mouse. You'll also need to install the gpm package.
The gtk+-devel package contains the static libraries and header files needed for developing GTK+ (GIMP ToolKit) applications. The gtk+-devel package contains glib (a collection of routines for simplifying the development of GTK+ applications), GDK (the General Drawing Kit, which simplifies the interface for writing GTK+ widgets and using GTK+ widgets in applications), and GTK+ (the widget set).
Install gtk+-devel if you need to develop GTK+ applications. You'll also need to install the gtk+ package.
The guile-devel package includes the libraries, header files, etc., that you'll need to develop applications that are linked with the GUILE extensibility library.
You need to install the guile-devel package if you want to develop applications that will be linked to GUILE. You'll also need to install the guile package.
The header files, static libraries and documentation needed for developing Imlib applications. Imlib is an image loading and rendering library for X11R6.
Install the imlib-devel package if you want to develop Imlib applications. You'll also need to install the imlib and imlib_cfgeditor packages.
The inn-devel package contains the INN (InterNetNews) library, which several programs that interface with INN need in order to work (for example, newsgate and tin).
If you are installing a program which must interface with the INN news system, you should install inn-devel.
Libraries and includes files you can use for libghttp development
The libgr-devel package contains the header files and static libraries, etc., for developing programs which can handle the various graphics file formats supported by the libgr library.
Install libgr-devel if you want to develop programs for handling the graphics file formats supported by the libgr library. You'll also need to have the libgr package installed.
GNOME (GNU Network Object Model Environment) is a user-friendly set of applications and desktop tools to be used in conjunction with a window manager for the X Window System. GNOME is similar in purpose and scope to CDE and KDE, but GNOME is based completely on Open Source software. The gnome-libs-devel package includes the libraries and include files that you will need to develop GNOME applications.
You should install the gnome-libs-devel package if you would like to develop GNOME applications. You don't need to install gnome-libs-devel if you just want to use the GNOME desktop environment. If you are going to develop GNOME applications and/or you're going to use the GNOME desktop environment, you'll also need to install the gnome-core and gnome-libs packages. If you want to use Linuxconf with a GNOME front end, you'll also need to install the gnome-linuxconf package.
The libjpeg-devel package includes the header files and static libraries necessary for developing programs which will manipulate JPEG files using the libjpeg library.
If you are going to develop programs which will manipulate JPEG images, you should install libjpeg-devel. You'll also need to have the libjpeg package installed.
Libpcap provides a portable framework for low-level network monitoring. Libpcap can provide network statistics collection, security monitoring and network debugging. Since almost every system vendor provides a different interface for packet capture, the libpcap authors created this system-independent API to ease in porting and to alleviate the need for several system-dependent packet capture modules in each application.
Install libpcap if you need to do low-level network traffic monitoring on your network.
The libpng-devel package contains the header files and static libraries necessary for developing programs using the PNG (Portable Network Graphics) library.
If you want to develop programs which will manipulate PNG image format files, you should install libpng-devel. You'll also need to install the libpng package.
This package includes the libraries and header files necessary for developing programs which will access the termcap database.
If you need to develop programs which will access the termcap database, you'll need to install this package. You'll also need to install the libtermcap package.
This package contains the header files and static libraries for developing programs which will manipulate TIFF format image files using the libtiff library.
If you need to develop programs which will manipulate TIFF format image files, you should install this package. You'll also need to install the libtiff package.
This package contains the static libraries, header files and documentation necessary for development of programs that will use the libungif library to load and save GIF format image files.
You should install this package if you need to develop programs which will use the libungif library functions for loading and saving GIF format image files. You'll also need to install the libungif package.
This packages contains the libraries, include and other files you can use to develop libxml applications.
Linuxconf is an extremely capable system configuration tool. It provides a variety of interfaces through which you can configure your Linux system and manage a large proportion of the system's operations.
This package provides the components necessary for developing Linuxconf modules outside of the Linuxconf source tree and/or developing stand-alone utilities using the Linuxconf interface toolkit.
Install linuxconf-devel if you want to develop Linuxconf modules. You must also have Linuxconf installed.
The header files and libraries for developing applications that use the ncurses CRT screen handling and optimization package.
Install the ncurses-devel package if you want to develop applications which will use ncurses.
The newt-devel package contains the header files and libraries necessary for developing applications which use newt. Newt is a development library for text mode user interfaces. Newt is based on the slang library.
Install newt-devel if you want to develop applications which will use newt.
This package contains the development headers that are used to build the pilot-link package. It also includes the static libraries necessary to build static pilot apps.
Popt is a C library for parsing command line parameters. Popt was heavily influenced by the getopt() and getopt_long() functions, but it improves on them by allowing more powerful argument expansion. Popt can parse arbitrary argv[] style arrays and automatically set variables based on command line arguments. Popt allows command line arguments to be aliased via configuration files and includes utility functions for parsing arbitrary strings into argv[] arrays using shell-like rules.
Install popt if you're a C programmer and you'd like to use its capabilities.
This package contains the header files and libraries needed to compile applications which will directly interact with a PostgreSQL server.
Install this package if you want to develop applications which will interact with a PostgreSQL server.
The Python programming language's interpreter can be extended with dynamically loaded extensions and can be embedded in other programs. This package contains the header files and libraries needed to do these types of tasks.
Install python-devel if you want to develop Python extensions. The python package will also need to be installed. You'll probably also want to install the python-docs package, which contains Python documentation.
Contains the files necessary to develop applications using Qt: header files, the Qt meta object compiler, man pages, HTML documentation and example programs. See http://www.troll.no for more information about Qt, or file:/usr/lib/qt/html/index.html for Qt documentation in HTML.
The readline library will read a line from the terminal and return it. Use of the readline library allows programmers to provide an easy to use and more intuitive interface for users.
If you want to develop programs which will use the readline library, you'll need to have the readline-devel package installed. You'll also need to have the readline package installed.
This package contains the RPM C library and header files. These development files will simplify the process of writing programs which manipulate RPM packages and databases and are intended to make it easier to create graphical package managers or any other tools that need an intimate knowledge of RPM packages in order to function.
This package should be installed if you want to develop programs that will manipulate RPM packages and databases.
This package contains the S-Lang extension language static libraries and header files which you'll need if you want to develop S-Lang based applications. Documentation which may help you write S-Lang based applications is also included.
Install the slang-devel package if you want to develop applications based on the S-Lang extension language.
This package contains the library needed for compiling applications which will use the SoX sound file format converter.
Install sox-devel if you want to develop applications which will use SoX.
The svgalib-devel package contains the libraries and header files needed to build programs which will use the SVGAlib low-level graphics library.
Install the svgalib-devel package if you want to develop applications which will use the SVGAlib library.
The ucd-snmp-devel package contains the development libraries and header files for use with the UCD-SNMP project's network management tools.
Install the ucd-snmp-devel package if you would like to develop applications for use with the UCD-SNMP project's network management tools. You'll also need to have the ucd-snmp and ucd-snmp-utils packages installed.
Static libraries and header files for programs that use w3c-libwww.
Static libraries and header files for building x11amp plugins.
The xpm-devel package contains the development libraries and header files necessary for developing applications which will use the XPM library. The XPM library is used by many programs for displaying pixmaps in the X Window System.
Install the xpm-devel package if you want to develop applications using the XPM pixmap library. You'll also need to install the xpm package.
The zlib-devel package contains the header files and libraries needed to develop programs that use the zlib compression and decompression library.
Install the zlib-devel package if you want to develop applications that will use the zlib library.
This section contains packages that are associated with building system-level software under Red Hat Linux.
Kernel-headers includes the C header files for the Linux kernel. The header files define structures and constants that are needed for building most standard programs. The header files are also needed for rebuilding the kernel.
The kernel-source package contains the source code files for the Linux kernel. These source files are needed to build most C programs, since they depend on the constants defined in the source code. The source files can also be used to build a custom kernel that is better tuned to your particular hardware, if you are so inclined (and you know what you're doing).
This section contains packages that are associated with the various tools needed to develop software under Red Hat Linux.
If you know what malloc() violations are, you'll be interested in ElectricFence. ElectricFence is a tool which can be used for C programming and debugging. It uses the virtual memory hardware of your system to detect when software overruns malloc() buffer boundaries, and/or to detect any accesses of memory released by free(). ElectricFence will then stop the program on the first instruction that caused a bounds violation and you can use your favorite debugger to display the offending statement.
This package will install ElectricFence, which you can use if you're searching for a debugger to find malloc() violations.
GNU's Autoconf is a tool for configuring source code and Makefiles. Using Autoconf, programmers can create portable and configurable packages, since the person building the package is allowed to specify various configuration options.
You should install Autoconf if you are developing software and you'd like to use it to create shell scripts which will configure your source code packages. If you are installing Autoconf, you will also need to install the GNU m4 package.
Note that the Autoconf package is not required for the end user who may be configuring software with an Autoconf-generated script; Autoconf is only required for the generation of the scripts, not their use.
Automake is an experimental Makefile generator. Automake 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.
You should install Automake if you are developing software and would like to use its capabilities of automatically generating GNU standard Makefiles. if you install Automake, you will also need to install GNU's Autoconf package.
The bin86 package provides an assembler and linker for real mode 80x86 instructions. You'll need to have this package installed in order to build programs that run in real mode, including LILO and the kernel's bootstrapping code, from their sources.
You should install bin86 if you intend to build programs that run in real mode from their source code.
Binutils is a collection of binary utilities, including ar (for creating, modifying and extracting from archives), nm (for listing symbols from object files), objcopy (for copying and translating object files), objdump (for displaying information from object files), ranlib (for generating an index for the contents of an archive), size (for listing the section sizes of an object or archive file), strings (for listing printable strings from files), strip (for discarding symbols), c++filt (a filter for demangling encoded C++ symbols), addr2line (for converting addresses to file and line), and nbnconv (for converting object code into an NLM).
Install binutils if you need to perform any of these types of actions on binary files. Most programmers will want to install binutils.
Bison is a general purpose parser generator which converts a grammar description for an LALR context-free grammar into a C program to parse that grammar. Bison can be used to develop a wide range of language parsers, from ones used in simple desk calculators to complex programming languages. Bison is upwardly compatible with Yacc, so any correctly written Yacc grammar should work with Bison without any changes. If you know Yacc, you shouldn't have any trouble using Bison (but you do need to be very proficient in C programming to be able to use Bison). Many programs use Bison as part of their build process. Bison is only needed on systems that are used for development.
If your system will be used for C development, you should install Bison since it is used to build many C programs.
BLT is an extension to the Tk toolkit. BLT's most useful feature is the provision of more widgets for Tk, but it also provides more geometry managers and miscellaneous other commands. Note that you won't need to do any patching of the Tcl or Tk source files to use BLT, but you will need to have Tcl/Tk installed in order to use BLT.
If you are programming with the Tk toolkit, you should install BLT. You will need to have Tcl/Tk installed.
Byacc (Berkeley Yacc) is a public domain LALR parser generator which is used by many programs during their build process.
If you are going to do development on your system, you will want to install this package.
The cdecl package includes the cdecl and c++decl utilities, which are used to translate English to C or C++ function declarations and vice versa.
You should install the cdecl package if you intend to do C and/or C++ programming.
Cproto generates function prototypes and variable declarations from C source code. Cproto can also convert function definitions between the old style and the ANSI C style. This conversion will overwrite the original files, however, so be sure to make a backup copy of your original files in case something goes wrong. Since cproto uses a Yacc generated parser, it shouldn't be confused by complex function definitions (as much as other prototype generators) because it uses a Yacc generated parser.
Cproto will be useful for C programmers, so install cproto if you are going to do any C programming.
Ctags generates an index (or tag) file of C language objects found in C source and header files. The index makes it easy for text editors or other utilities to locate the indexed items. Ctags can also generate a cross reference file which lists information about the various objects found in a set of C language files in human readable form. Exuberant Ctags improves on ctags because it can find all types of C language tags, including macro definitions, enumerated values (values inside enum...), function and method definitions, enum/struct/union tags, external function prototypes, typedef names and variable declarations. Exuberant Ctags is far less likely to be fooled by code containing #if preprocessor conditional constructs than ctags. Exuberant ctags supports output of emacs style TAGS files and can be used to print out a list of selected objects found in source files.
Install ctags if you are going to use your system for C programming.
CVS means Concurrent Version System; it is a version control system which can record the history of your files (usually, but not always, source code). CVS only stores the differences between versions, instead of every version of every file you've ever created. CVS also keeps a log of who, when and why changes occurred, among other aspects.
CVS is very helpful for managing releases and controlling the concurrent editing of source files among multiple authors. Instead of providing version control for a collection of files in a single directory, CVS provides version control for a hierarchical collection of directories consisting of revision controlled files.
These directories and files can then be combined together to form a software release.
Install the cvs package if you need to use a version control system.
The diff command compares files line by line. Diffstat reads the output of the diff command and displays a histogram of the insertions, deletions and modifications in each file. Diffstat is commonly used to provide a summary of the changes in large, complex patch files.
Install diffstat if you need a program which provides a summary of the diff command's output. You'll need to also install diffutils.
The flex program generates scanners. Scanners are programs which can recognize lexical patterns in text. Flex takes pairs of regular expressions and C code as input and generates a C source file as output. The output file is compiled and linked with a library to produce an executable. The executable searches through its input for occurrences of the regular expressions. When a match is found, it executes the corresponding C code. Flex was designed to work with both Yacc and Bison, and is used by many programs as part of their build process.
You should install flex if you are going to use your system for application development.
The GNU gettext package provides a set of tools and documentation for producing multi-lingual messages in programs. Tools include a set of conventions about how programs should be written to support message catalogs, a directory and file naming organization for the message catalogs, a runtime library which supports the retrieval of translated messages, and stand-alone programs for handling the translatable and the already translated strings. Gettext provides an easy to use library and tools for creating, using, and modifying natural language catalogs and is a powerful and simple method for internationalizing programs.
If you would like to internationalize or incorporate multi-lingual messages into programs that you're developing, you should install gettext.
Gperf is a perfect hash function generator written in C++. Simply stated, a perfect hash function is a hash function and a data structure that allows recognition of a key word in a set of words using exactly one probe into the data structure.
Install gperf if you need a program that generates perfect hash functions.
The libtool package contains the GNU libtool, a set of shell scripts which automatically configure UNIX and UNIX-like architectures to generically build shared libraries. Libtool provides a consistent, portable interface which simplifies the process of using shared libraries.
If you are developing programs which will use shared libraries, you should install libtool.
A GNU tool for controlling the generation of executables and other non-source files of a program from the program's source files. Make allows users to build and install packages without any significant knowledge about the details of the build process. The details about how the program should be built are provided for make in the program's makefile.
The GNU make tool should be installed on your system because it is commonly used to simplify the process of installing programs.
The patch program applies diff files to originals. The diff command is used to compare an original to a changed file. Diff lists the changes made to the file. A person who has the original file can then use the patch command with the diff file to add the changes to their original file (patching the file).
Patch should be installed because it is a common way of upgrading applications.
Make is a GNU tool which allows users to build and install programs without any significant knowledge of the build process. Details about how the program should be built are included in the program's Makefile. Pmake is a particular version (BSD 4.4) of make. Pmake supports some additional syntax which is not in the standard make program. Some Berkeley programs have Makefiles written for pmake.
Pmake should be installed on your system so that you will be able to build programs which require using pmake instead of make.
Customs is a remote execution facility for PMake. Customs is designed to run on a network of machines with a consistent, shared filesystem. Customs requires Sun RPC in order to use XDR (eXternal Data Representation) routines for logging functions.
A single server is designated as the master agent and is additionally responsible for noting when a machine goes down, from which machines any given machine will accept jobs and parcelling out available machines to requesting clients. The job of master is not given to any one machine but, rather, is decided among the active agents whenever the previous master dies.
Clients are provided to: - alter the availability criteria for the local machine (importquota) - find the status of all registered hosts on the net (reginfo). - abort, restart or ping any customs agent on the network (cctrl). - export a command from the shell (export). - accept log information from all hosts on the net (logd).
The Revision Control System (RCS) is a system for managing multiple versions of files. RCS automates the storage, retrieval, logging, identification and merging of file revisions. RCS is useful for text files that are revised frequently (for example, programs, documentation, graphics, papers and form letters).
The rcs package should be installed if you need a system for managing different versions of files.