Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Ind
 Top of Book   Previous Chapter   Next Chapter 

2 Installation of the IO-package
 2.1 Static linking
 2.2 Recompiling the documentation

2 Installation of the IO-package

To get the newest version of this GAP 4 package download one of the archive files

and unpack it using


gunzip io-x.x.tar.gz; tar xvf io-x.x.tar

or


bzip2 -d io-x.x.tar.bz2; tar xvf io-x.x.tar

or


unzip -x io-x.x.zip

respectively.

Do this in a directory called "pkg", preferably (but not necessarily) in the "pkg" subdirectory of your GAP 4 installation. It creates a subdirectory called "io".

The package will not work without the following compilation step.

To compile the C part of the package do (in the pkg directory)


    cd io
    ./configure
    make

If you installed the package in another "pkg" directory than the standard "pkg" directory in your GAP 4 installation, then you have to do two things. Firstly during compilation you have to use the option --with-gaproot=PATH of the configure script where "PATH" is a path to the main GAP root directory (if not given the default "../.." is assumed).

Secondly you have to specify the path to the directory containing your "pkg" directory to GAP's list of directories. This can be done by starting GAP with the "-l" command line option followed by the name of the directory and a semicolon. Then your directory is prepended to the list of directories searched. Otherwise the package is not found by GAP. Of course, you can add this option to your GAP startup script.

If you installed GAP on several architectures, you must execute the configure/make step for each of the architectures. You can either do this immediately after configuring and compiling GAP itself on this architecture, or alternatively (when using version 4.5 of GAP or newer) set the environment variable CONFIGNAME to the name of the configuration you used when compiling GAP before running ./configure. Note however that your compiler choice and flags (environment variables CC and CFLAGS) need to be chosen to match the setup of the original GAP compilation. For example you have to specify 32-bit or 64-bit mode correctly!

2.1 Static linking

This feature does not work in this version of the package. We leave the old documentation here for the case that the feature will be reenabled inthe future.

This might be interesting for M$ Windows users, as dynamic loading of binary modules does not always work there. You can also create a new statically linked "gap" binary as follows:

Go into the main GAP directory and then into bin/BINDIR. Here BINDIR means the directory containing the "gap" executable after compiling "gap". This directory also contains the GAP compiler script "gac". Assuming IO in the standard location you can then say


    ./gac -o gap-static -p "-DIOSTATIC -I../../pkg/io/bin/BINDIR" \
        -P "-static" ../../pkg/io/src/io.c

Then copy your "gap" start script to, say, "gaps" and change the references to the GAP binary to "gap-static".

Note that you have to replace BINDIR by the name containing the "gap" executable after compiling GAP as above. If you have installed the package in a different place than the standard, you have to replace "../.." in the above command by the path to the directory containing the "pkg" directory into which you installed IO. If you want to install more than one package with a C-part like this package, you can still create a statically linked GAP executable by combining all the compile and link options and all the .c files as in the ./gac command above. For the IO package, you have to add


    -DIOSTATIC -I../../pkg/io/bin/BINDIR

to the string of the -p option and the file


  ../../pkg/io/src/io.c

somewhere on the command line. As above, "../.." and "BINDIR" have to be replaced if you installed in a non-standard location.

2.2 Recompiling the documentation

Recompiling the documentation is possible by the command "gap makedoc.g" in the io directory. But this should not be necessary.

 Top of Book   Previous Chapter   Next Chapter 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 Ind

generated by GAPDoc2HTML