Chapter 34
Installing NCGB the Hard Way

In this section we face the task of compiling NCGB. If you are on a Solaris, Linux, or Windows system you do not have to, since we included a complied version in what you have downloaded.

In order to compile the C++ version of this package, one should obtain a copy of the GNU C++ compiler with version number at least 2.6.3.

34.1 GNU C++ Version 2.6.3

The freely-distributable GNU C++ compiler is available by anonymous ftp from The GNU C++ compiler is (1) freely-distributed, and (2) continually upgradable by the GNU organization. GNU is responsible for producing many high quality software programs for free, including the popular program GNU Emacs. The easiest way for you to install the compiler would be through your system administrator. You can see if you have the GNU compiler version 2.6.3 or better by typing the command ‘g++ -v’. You should get something like this:

Reading specs from  
gcc version 2.6.3

The version number must be 2.6.3 or higher1. If you do not have version 2.6.3 or better, talk to your system administrator.

34.1.1 Compiling the C++ part of NCGB

The file NC/NCGB contains a README file. This file describes how to compile the NCGB code. There are, in addition, README files in each subdirectory of NC/NCGB. In short, one wants to type make p9c in the NC/NCGB/Compile directory and copy and/or link (ln -s) the binary from NC/NCGB/Compile/dlink/p9c into NC/NCGB/Binary/p9c.

34.2 Running NCGB

This is described in the NCDOCUMENT but we repeat it here.

A session begins by

Getting in the NC directory, entering Mathematica and typing
<< NCGB.m

34.2.1 Loading NCGB more quickly

When you load NCGB it automatically loads NCAlgebra. When you load NCAlgbebra you have a choice of loading many files or huge numbers of files. The default is the latter so you must sit and wait. If you get mad as hell and won’t take it any more, stop. Before loading Mathematica or anything type

$NC$LongLoadTime$ =False

This sets an environment where the shorter version of NCAlgebra.m is loaded. Note $NC$LongLoadTime$ =True is the default.