Open GENIE is available as a binary distribution for the common machine types and in a source code distribution for anything else. If the binary distribution is available for your machine and operating system, this is the easiest way to install Open GENIE. The binary distribution kits are marked with the name of the machine, the operating system and the manufacturer of the machine range if known. For example
alpha-dec-osf3.2
means that the version of Open GENIE in the binary distribution was made for a machine with an alpha/AXP processor, in a machine manufactured by Digital Equipment Corporation and running Version 3.2 of the OSF/1 operating system, which is now called Digital UNIX. In general all these should match with your system for a binary kit to work. If you are running a version of UNIX, but are unsure of these details you can download the file config.guess, and run it on your system with the command
> sh config.guess
This script will attempt to guess which version of UNIX you are running and return a string similar to the one above. If it matches one of the Open GENIE binary distributions this will be the appropriate version to use for your machine.
Installation instructions for VMS and UNIX machines are different so there are different sections describing how to install each one. If your machine does not have a binary version of the kit available, you may be able to build one from the source code, to do this you will need to read the section on Source code installation. Note for example instructions to mount the CD-ROM see appendix E.
Choose the binary installation instructions below which match the type of hardware on which you are installing Open GENIE.
All UNIX kits are supplied as compressed tar files - made by the tar program on the appropriate machine. To decompress these files you will need to have gunzip installed. NB gunzip is available from the web site as a tar file if you do not have this, for building on your system.
To install Open GENIE follow the instructions given here for a Digital Alpha machine, but substituting the appropriate names and version numbers for your distribution kit of Open GENIE
gunzip genie-1.1-alpha-dec-osf3.2.tar.gz
tar xvf genie-1.1-alpha-dec-osf3.2.tar
cd genie-1.1-alpha-dec-osf3.2
To install GENIE in the default system location with data files in /usr/local/genie, executable files in /usr/local/bin, and library links in /usr/local/lib type:
./configure
make install
You will need to do the make install from the superuser or root account. If you wish to see what make install will do without actually performing the install, type
make -n install
Note: the above install can only be executed by the superuser and does a system wide installation. If you do not have access to the superuser account, you may change the ./configure command to give different default installation directories for yourself, for example
./configure --prefix=$HOME
will change the default installation directories, putting any binary files into your personal accounts $HOME/bin directory, the rest of genie into a $HOME/genie directory, and library symbolic links in $HOME/lib. Note: to run Open GENIE automatically your bin directory will need to be in your PATH.
Once Open GENIE is installed it can be invoked by running the genie script in the bin directory. If the bin directory is specified in your shell PATH environment variable, you should be able to just type:
genie
If you are using a C shell then before the command will work properly you need to type:
rehash
Below are the steps needed to get Open GENIE running on a Dec alpha/AXP machine running VMS6.2 or later.
All VMS/alpha kits are supplied as compressed zip files, made by the public domain zip program. To decompress you will need to have unzip installed. If unzip is not installed by default on your system then to set up the command type the following line:
$ unzip :== $ disk:[directory]unzip_axp.exe
where disk:[directory] is the location of the unzip_axp.exe file (unzip is available here).
Uncompress the Open GENIE kit using the command below (you will need approximately 40000 blocks of disk space to successfully uncompress and install Open GENIE):
$ unzip genie-1_0-alpha-dec-vms6_2.zip
This creates a directory called disk:[directory.OPENGENIE_1_1]. To run Open GENIE you will need to set up the definition
$ opengenie :== @disk:[directory.opengenie_1_1]genie_setup
either your own "LOGIN.COM" or the system wide "SYLOGIN.COM". This enables Open GENIE to be run using the command opengenie. For installing Open GENIE on a system which is shared between several users you may want to install the shared library and executable files as known shareable images. This is done by adding the lines
$ INSTALL ADD disk:[directory:OPENGENIE_1_1.GENIE]genie.so /OPEN/HEADER/SHARED/RESIDENT
$INSTALL ADD disk:[directory:OPENGENIE_1_1.GENIE]GMAIN /OPEN/HEADER/SHARED/RESIDENT
to the SYSTARTUP_VMS.COM file in SYS$STARTUP.
Windows/NT and Windows-95 are currently not supported, but will be made available in subsequent releases.
Unless you are fully prepared to compile a fairly complex software system written in C/C++ we recommend that you check for a binary installation of Open GENIE and install that instead.
Source code installation is normally more complicated than the Binary installation, but it is useful if:
It is also very likely that you will need to have some familiarity with the C, C++ and FORTRAN compilers on your system. Generally we would recommend that you install GNU g++ and use either g77 or the native FORTRAN compiler for building Open GENIE.
Before embarking on a source code build, it may well be worth mailing us at genie@isise.rl.ac.uk to check that we are not planning to do a similar build or that someone else has not already done one.
The source code is distributed in a compressed tar file (here) which you will need to unwind in a suitable development area. The PGPLOT and Splash libraries are distributed as separate distributions (here) which will need to be unpacked in PGLOT and Splash subdirectories respectively. We have to do this because Open GENIE is being distributed under the GNU licence, and the other packages though freely available are not. Following this the trees must be patched to update them with modifications and files added for Open GENIE. The commands needed will be similar to the ones shown below.
cat genie-1.1.tar.gz | gunzip | tar xf -
cd genie-1.1
cat ../pgplot5.1.1.tar.gz | gunzip | tar xf -
cd splash
cat ../../splash1.7.tar.Z | gunzip | tar xf -
The pgplot tree should now be in the "pgplot" subdirectory and splash in the "splash" subdirectory. The patches can be applied with the commands
cd genie-1.1/pgplot
patch -p2 -s < pgplot-5.1.1.patch
cd ../splash
patch -p2 -s < splash-1.7.patch
These patches should apply fully without asking questions, if you get a question such as "File to patch:", check that pgplot and splash were extracted correctly, so that the paths genie-1.1/pgplot/makemake and genie-1.1/splash/Makefile.in both point to valid files.
Ideally, the code will now build automatically if you type.
cd genie-1.1
./configure
make all
this builds the development version of Open GENIE which can be run by typing ./parser from within the src directory. To go the whole way and build an install kit for your system you will need to do a
make kit
to build a compressed tar file for a binary installation. This can then be installed to a users directory or system wide as described in the section on Binary Installation. Note that to build a kit you will also need a copy of GNU autoconf installed.
If you are struggling email genie@isise.rl.ac.uk and we will endeavour to help. When you do contact us for advice, please provide us with examples of the errors that occur in the mail message. Remember that we probably can only guess at what might be wrong as we are unlikely to have the same system that you have to test things on.
Please check out the operating system specific notes below, they could save you a lot of time!
Operating system specific notes
At the moment our primary development platform is Digital UNIX (OSF/1) on alpha AXP and this is generally the one which works best for building without a hitch. Linux works fine, but may need a bit of fiddling if you run a different distribution to us. IRIX (for version 5.3) works, but is likely not to work immediately for later versions. For VMS, only attempt this if you are strong willed and familiar with VMS/POSIX and have it installed on VMS 6.2 or later. VMS building on VAX is not recommended although we have done it!
We provide notes to help you with building on specific operating systems, these notes can also be found in the README.<os> files of the source code distribution.
Linux
This is not an exhaustive list but should help:
export CPLUS_INCLUDE_PATH=/usr/include/g++-include
$cd library
$make -i
Note g77 return status of 4 stops a correct build
IRIX
First run ./configure, currently this picks up f2c if it is installed which is probably not what is wanted. Now edit "./config.cache" and change the line
f2c_c_cos=${ac_cv_lib_f2c_c_cos= "yes"}
to read
f2c_c_cos=${ac_cv_lib_f2c_c_cos= "no"}
and re-run configure.
VMS
These are the instructions for compiling under VMS POSIX, tested on Open VMS (AXP) 6.2 with POSIX 2.0.
Before entering VMS POSIX:
DEFINE/JOB POSIX$INCLUDE SYS$SCRATCH
After entering POSIX:
sh vms_posix.setup
will building the kit using a fairly large number of rather VMS/POSIX specific routines and produce a similar file to the UNIX versions.
In general it is possible that if the configure doesnt work then it may be the result of picking the wrong FORTRAN compiler. To change this you can edit the file "config.cache" and then re-run the configure command.