2.1 Installing the End User's Version

After downloading the two tar files, `pdp++_version_bin_CPU.tar.gz' and `pdp++_version_ext.tar.gz', you need to decide where to locate the files. It is recommended that you put them in `/usr/local/pdp++', but they can be put anywhere. However, the PDPDIR environmental variable must then be set for all users to the location it is actually installed in. In addition if your CPU supports shared libraries (LINUX, IBMaix, SUN4, HP800, SGI), you will need to insure that the LD_LIBRARY_PATH environment variable includes the path PDPDIR/lib/CPU where PDPDIR is the location of the pdp++ distribution, and CPU is your system type as described above. The following will assume that you are installing in `/usr/local/pdp++'. Note that for the SUN4 distribution only the IV library is currently dynamically linked.

Note: all of the PDP++ software is distributed in the gnu `gzip' format, and it also uses gzip to automatically compress and decompress the network, project, and environment files so that they take up less space on your disk. Thus, your system must have `gzip' installed before proceeding. It can be obtained from the GNU ftp server (prep.ai.mit.edu) or one of its mirrors.

Go to the `/usr/local' directory, and issue the following command:

  zcat <tarfile> | tar -xf -

where <tarfile> is the name of the tar archive file. Note that the tar files will create the pdp++ directory, or load into it if it already exists. Thus, if you have an old version of the software, be sure to rename its directory something else before loading the new files.

All further references to file names, unless otherwise stated, assume that you are in the PDPDIR directory (e.g., `/usr/local/pdp++').

The files will get loaded into the following directories:

`bin'
binaries (executable files) go here
`config'
configuration (for Makefile) and some standard init files are found here
`css'
contains include files for commonly-used css scripts and some additional documentation, plus some demo script files
`defaults'
contains default configuration files for the various executables (see the manual for more information).
`demo'
contains demonstrations of various aspects of the PDP++ software.
`manual'
contains the manual, which is in texinfo format and has been made into a .ps, emacs .info, and html files.
`src'
contains the source code for the software.
`lib'
libraries (for dynamically linked executables) go here
`interviews/lib'
InterViews toolkit libraries (for dynamically linked executables) go here.

The binaries will get unloaded into `bin/CPU', where CPU is the system name as described above. The binaries are:

`bp++'
The backpropagation executable (see section 14 Backpropagation).
`cs++'
The constraint satisfaction executable (see section 15 Constraint Satisfaction).
`so++'
The self-organizing learning executable (see section 16 Self-organizing Learning).
`bpso++'
A combination of backpropagation and self-organization algorithms, so hybrid networks can be built.
`maketa'
The type-scanner used for programming the software. You can read about it in section 17 Programming in PDP++.
`css'
A stand-alone version of the CSS script language system. It can be used as an interpreted C++ language system for any number of tasks.

You should either add the path to these binaries to your standard path, or make symbolic links to these files in `/usr/local/bin' or some similar place which most user's will have on their path already.

IMPORTANT: The binaries for SGI, HP800, LINUX, and IBMaix SUN4 are dynamically linked, which means that the `pdp++_version_bin_CPU.tar.gz' file installed some dynamic libraries in the `PDPDIR/lib/CPU' directory and in the `PDPDIR/interviews/lib/CPU' directory. When one of the PDP++ programs is run, it will need to know where to find these dynamic libraries. Thus you must set the LD_LIBRARY_PATH environmental variable (using setenv) to point to both of these locations. It is a good idea to put this setting in your initialization file for your shell (i.e. `~/.cshrc'). Alternatively, you can copy the `PDPDIR/interviews/lib/CPU/libIV.so' (or .sl for HP800) file into your `/usr/local/lib' or somewhere else that is already on your dynamic linker's path. If this is not done properly, you will get an error message when a PDP++ program is run indicating that it couldn't find one or more of these dynamic libraries.

The manual is distributed in several versions, including a postscript file that can be printed out for hard-copy, a set of "info" files that can be installed in your standard info file location and added to your `dir' file for reading info files in gnu emacs and other programs, and a directory called `html' which contains a large number of `.html' files that can be read with `Netscape', `Mosaic' or some other WWW program. Point your program at `pdp-user_1.html' for the chapter-level summary, or `pdp-user_toc.html' for the detailed table of contents.

The latest version of the manual is also available on-line from:

  http://www.cs.cmu.edu/Web/Groups/CNBC/PDP++/PDP++.html

Aside from making sure that the PDPDIR environmental variable is set if the software was installed in a different location than `/usr/local/pdp++', and making sure the executables (and shared libraries, if applicable) are on the path, that is all there is to the installation. See section 9.4 Customization Through Defaults and Settings for instructions on how to setup customized startup files if you want to change some of the default properties of the system.

Happy simulating!