This CD-ROM distribution was produced by the Free Software Foundation. On it you will find all of the latest software from the GNU Project as well as XFree86, Apache, and other free software (free as in "freedom"). There are no precompiled programs on this CD-ROM. You will need a C compiler to build most of this software (programs which need some other sort of interpreter or compiler normally provide the C source for a bootstrapping program). The source code can be uncompressed using either the "bzip2" or "gzip" compression program and unarchived with either the "unzip" or "tar" archiver. The source code for "bzip2", "gzip", "GCC", "tar", and "unzip" are included in uncompressed and unarchived format to allow the user to bootstrap if needed. Several binary versions of bzip2, gzip, tar, and unzip are also included for Windows(TM)98 (windows98-binaries directory) and a few popular UNIX systems (unix-binaries directory). The Windows(TM)98 tar binary requires the DLL "msys-1.0.dll" (source code available as msys-1.0.8-src.tar.bz2 in the same directory as the DLL). This CD-ROM is in ISO9660 format with Rock Ridge extensions. If your CD-ROM driver supports Rock Ridge extensions, then when you mount the CD-ROM it will look like an ordinary unix filesystem. If your driver doesn't have these extensions, you will be stuck with vanilla ISO9660 format, which places some limitations on length and acceptable characters in file and directory names. For example, a limit of 8 characters (plus an optional 3 character extension on files) is placed on all file names so that MSDOS users will have less trouble reading files from this CD-ROM. The original names that various files are supposed to have are stored in files called ``TRANS.TBL'' in each directory where renaming was required (though it may appear as any of ``TRANS.TBL'', ``TRANS.TBL;1'', ``trans.tbl'', or ``trans.tbl;1'' depending on what your CD-ROM driver does). Restoring these names is taken care of by the ``cdlndir'' script discussed below. Since the CD-ROM is read-only you must have disk space for the source files, installed executables, documentation, and object files (the last only during compilation). The amount of space you'll actually need for building programs varies. For example, to go through the normal stages of building GCC, you'll need approximately 400 megabytes of space. Other programs need hardly any space at all. However, you do not necessarily need to copy the source files themselves off the CD-ROMs, together which total over a gigabyte in size. If your system supports symbolic links you can make a tree of symbolic links somewhere on your hard disk referencing the source files on the CD prior to uncompressing/unarchiving. Unfortunately, if your system does not support symbolic links you will have to copy all the sources for any packages you want to build onto a disk. If your CD-ROM driver supports the Rock Ridge extensions, you may not need to build a symlink tree at all for some software. You merely uncompress/unarchive the source directly from CD to local disk and then configure, build, and install the software. As an example, to build GCC you might simply do the following: $ mkdir /scratch /scratch/gcc-3.2.1-objdir $ cd /scratch $ tar xf /cdrom/gcc-3.2.1/gcc-3.2.1.tar $ cd /scratch/gcc-3.2.1-objdir $ /scratch/gcc-3.2.1/configure $ make bootstrap If, however, you do not have the Rock Ridge extensions, this won't be quite so easy because all the file names on the CD-ROM are mangled. Instead, you will have to build a symlink tree on another disk, where the names can be unmangled, and uncompress/unarchive the source files from that. The program for installing symlink trees is called ``cdlndir'' (which may appear to you as ``CDLNDIR.'', ``CDLNDIR.;1'', ``cdlndir.'', or ``cdlndir.;1'' because of the aforementioned differences in CD-ROM drivers). The sequence of commands to type might be as follows: $ mkdir /scratch /scratch/gcc-3.2.1-objdir $ sh /cdrom/cdlndir --verbose /cdrom/gcc-3.2.1 /scratch $ cd /scratch $ tar xf gcc-3.2.1.tar $ cd /scratch/gcc-3.2.1-objdir $ /scratch/gcc-3.2.1/configure $ make bootstrap Note that if your CD-ROM driver leaves versions numbers visible on the files on the CDROM, you will have to put quotes around their names to keep your shell from interpreting the semicolon as the end of one command and the start of another: $ sh '/cdrom/cdlndir;1' --verbose /cdrom/gcc-3.2.1 /scratch This command will create the directory /scratch if it does not already exist, then symlink all the files from /cdrom/gcc-3.2.1 (or its mangled equivalent) on the CD-ROM into that directory, with appropriate demangling so the symlink names represent the original unix file names. The ``--verbose'' option isn't required, but it makes the program tell you what it's doing as it goes along. If you want to save this output into a file so you can search through it later, redirect it to a file (this command and the following use redirection operators extant in any bourne shell): $ sh /cdrom/cdlndir -v /cdrom/gcc-3.2.1 /scratch >log 2>&1 Or you can save to a log and see the output on your terminal at the same time: $ sh /cdrom/cdlndir -v /cdrom/gcc-3.2.1 /scratch 2>&1 | tee log You can link/copy as much of the CD-ROM source tree as you want. The script works recursively, so if you do $ sh /cdrom/cdlndir --verbose /cdrom /scratch It will make /scratch be a shadow of the entire CD-ROM. Detection of what format the CD-ROM is in (Rock Ridge or vanilla ISO9660) is automatic. If it fails for some inexplicable reason, the ``--iso9660'' or ``--rockridge'' options may make cdlndir behave better. If your system does not support symbolic links you will have to run cdlndir with the ``--copy'' option, which will actually copy over the files instead. Note that you will need disk space for both the sources and the object files in this case. The ISO9660 standard requires that file names without any extension end with a `.', but some drivers strip this (as well as version numbers) from file names. cdlndir should automatically detect if this is happening, but if it fails to do so you can give it a clue with the ``--no-trailing-dot'' option. Lastly, the ``--help'' option to cdlndir will print out a summary of its options. A list of the top-level files of interest and a brief description of all the software packages in this distribution are in the file MANIFEST (which may appear on the CD-ROM as "manifest." or another of the names analogous to the ones mentioned when mangling occurs). We sincerely hope everything works correctly, but it's difficult to foresee every possible problem. If you experience any problems getting software off the CD-ROM, please send email to so we can fix the problems in the next CD-ROM edition (if a program itself has a bug, you should send a bug report to the address indicated for that program; usually the README or INSTALL file for that package says what this address is). If you can't reach us by email, please contact us by fax, phone or surface mail: Free Software Foundation, Inc. 51 Franklin St, Fifth Floor Boston, MA 02110-1301 USA Phone: +1-617-542-5942 Fax: +1-617-542-2652 and give us details about your problem. Happy hacking!