Note that SNNS has not been tested extensively in different computer environments and is a research tool with frequent substantial changes. It should be obvious that we don't guarantee anything. We are also not staffed to answer problems with SNNS or to fix bugs quickly.
Since release 3.0, SNNS needs an ANSI-C compiler to run. The Kernighan & Ritchie standard is no longer supported.
To build SNNS in the directory in which you have moved it you first have to generate the correct makefiles for your machine architecture and window system used. To do this, simply call the shell script
configureThis prompts you for information about the machine architecture and the window system and builds all necessary makefiles with this information. It uses templates found in the directory configuration for this task. Under certain conditions the shell script may not be able to traverse logical links. If you are sure about the location of your X11 libraries and include files, but configure can't locate them, respond by giving "unknown" as path. You can later set the correct path in the Makefiles with any text editor. At the end of this script, you will be told about the next step to build the simulator.
The next step to build the simulator is usually to build the kernel and the graphical user interface with the command
build simor with the two commands
build kernel build xguiThis script descends into the appropriate subdirectories and calls the makefiles in these subdirectories to compile all necessary source files and link the object files into one executable file. The executable is located in
<SNNS-dir.>/xgui/bin/<architecture>/xguiwhere <SNNS-dir.> is the current SNNS directory and <architecture> is the machine architecture, e.g. dec_alpha,, hp_ux, sun_os4x, or others.
We usually build a symbolic link named snns to point to this executable if we often work on the same machine architecture.
ln -s xgui/bin/<architecture>/xgui snnsThis link may also be placed in the user home directory (with the proper path prefix to SNNS) or in a directory of binaries in the local users' search path.
The simulator is then called simply with
If the tools accompanying the simulator and the RPC kernel files are also to be built, use the commands
build all build simwhich call the four commands
build kernel build xgui build rpc build toolsPlease note that the rpc modules need not be installed if SNNS is to run only on distinct workstations without parallel training. It is required only if you wish to train several networks on various workstations in parallel while holding centralized control from a single user interface. RPC is also not supported on several hardware platforms. Please read chapter for details.
Since version 3.2, the SNNS pattern files are read with the help of a parser generator. However, the standard compiler-compiler for unix, yacc, is not powerful enough for this task, and the GNU utility program bison has to be used. For those sites that do not have bison installed, we have a precompiled file included in the distribution. These circumstances have two important consequences:
- The precompiled file kr_pat_parse.c was generated on a DECStation. We have found that some compilers on other machines refuse to process this file for various reasons. This is true for all combinations of bison-machine_A / gcc-machine_B pairs, but the file generated by the DEC bison seems to be the most widely accepted.
- If you have a bison on your target machine, the first installation of SNNS will overwrite our precompiled file. This is fine as long as only this machine is used. If later on SNNS is to be compiled for another machine though, this new file will be used if the second machine does not have bison. In this case, the compatibility problems mentioned above might block a successful compilation.
- If you do not have bison installed and your compiler does not like the precompiled file either, you have to install bison. Bison is a GNU product and is not distributed by us. Please refer to the various GNU ftp sites to obtain this program.
For further details about calling the simulator and working with the graphical user interface see chapter .