GAP (digraphs) - Chapter 2: Installing Digraphs

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 A Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

[MathJax off]

2 Installing Digraphs
2.1 For those in a hurry
2.1-1 Configuration options
2.2 Optional package dependencies
2.2-1 The Grape package
2.3 Compiling the kernel module
2.4 Rebuilding the documentation
2.4-1 DigraphsMakeDoc
2.5 Testing your installation
2.5-1 DigraphsTestInstall
2.5-2 DigraphsTestStandard
2.5-3 DigraphsTestExtreme

### 2 Installing Digraphs

#### 2.1 For those in a hurry

In this section we give a brief description of how to start using Digraphs.

It is assumed that you have a working copy of GAP with version number 4.10.0 or higher. The most up-to-date version of GAP and instructions on how to install it can be obtained from the main GAP webpage https://www.gap-system.org.

The following is a summary of the steps that should lead to a successful installation of Digraphs:

- ensure that the IO package version 4.5.1 or higher is available. IO must be compiled before Digraphs can be loaded.

- ensure that the Orb package version 4.8.2 or higher is available. Orb has better performance when compiled, but although compilation is recommended, it is not required to be compiled for Digraphs to be loaded.

- ensure that the datastructures package version 0.2.5 or higher is available.

- This step is optional: certain functions in Digraphs require the Grape package to be available; see Section 2.2-1 for full details. To use these functions make sure that the Grape package version 4.8.1 or higher is available. If Grape is not available, then Digraphs can be used as normal with the exception that the functions listed in Subsection 2.2-1 will not work.

- This step is optional: certain functions in Digraphs require the NautyTracesInterface package to be available. If you want to make use of these functions, please ensure that the NautyTracesInterface package version 0.2 or higher is available. If NautyTracesInterface is not available, then Digraphs can be used as normal with the exception that functions whose names contain "Nauty" will not work.

- download the package archive `digraphs-1.6.0.tar.gz` from the Digraphs package webpage.

- unzip and untar the file, this should create a directory called `digraphs-1.6.0`.

- locate the `pkg` directory of your GAP directory, which contains the directories `lib`, `doc` and so on. Move the directory `digraphs-1.6.0` into the `pkg` directory.

- it is necessary to compile the Digraphs package. Inside the `pkg/digraphs-1.6.0` directory, type

      ./configure
      make

  Further information about this step can be found in Section 2.3.

- start GAP in the usual way (i.e. type `gap` at the command line).

- type `LoadPackage("digraphs");`

If you want to check that the package is working correctly, you should run some of the tests described in Section 2.5.

##### 2.1-1 Configuration options

In addition to the usual autoconf generated configuration flags, the following flags are provided.

Table: Configuration flags
Option | Meaning
`--enable-code-coverage` | enable code coverage support
`--enable-compile-warnings` | enable compiler warnings
`--enable-debug` | enable debug mode
`--with-external-bliss` | use external bliss
`--with-external-planarity` | use external edge-addition-planarity-suite
`--with-gaproot` | specify root of GAP installation
`--without-intrinsics` | do not use compiler intrinsics even if available

#### 2.2 Optional package dependencies

The Digraphs package is written in GAP and C code and requires the IO package. The IO package is used to read and write transformations, partial permutations, and bipartitions to a file.

##### 2.2-1 The Grape package

The Grape package must be available for the following operations to be available:

- `Graph` (3.2-3) with a digraph argument

- `AsGraph` (3.2-4) with a digraph argument

- `Digraph` (3.1-7) with a Grape graph argument

If Grape is not available, then Digraphs can be used as normal with the exception that the functions above will not work.

#### 2.3 Compiling the kernel module

The Digraphs package has a GAP kernel component in C which should be compiled. This component contains certain low-level functions required by Digraphs.

It is not possible to use the Digraphs package without compiling it.

To compile the kernel component inside the `pkg/digraphs-1.6.0` directory, type

    ./configure
    make

If you installed the package in another 'pkg' directory than the standard 'pkg' directory in your GAP 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).

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 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.4 Rebuilding the documentation

The Digraphs package comes complete with pdf, html, and text versions of the documentation. However, you might find it necessary, at some point, to rebuild the documentation. To rebuild the documentation, please use the function `DigraphsMakeDoc` (2.4-1).

##### 2.4-1 DigraphsMakeDoc

`‣ DigraphsMakeDoc`( ) | ( function )

Returns: Nothing

This function should be called with no argument to compile the Digraphs documentation.

#### 2.5 Testing your installation

In this section we describe how to test that Digraphs is working as intended. To test that Digraphs is installed correctly use `DigraphsTestInstall` (2.5-1) or for more extensive tests use `DigraphsTestStandard` (2.5-2).

If something goes wrong, then please review the instructions in Section 2.1 and ensure that Digraphs has been properly installed. If you continue having problems, please use the issue tracker to report the issues you are having.

##### 2.5-1 DigraphsTestInstall

`‣ DigraphsTestInstall`( ) | ( function )

Returns: `true` or `false`.

This function can be called without arguments to test your installation of Digraphs is working correctly. These tests should take no more than a few seconds to complete. To test more comprehensively that Digraphs is working correctly, use `DigraphsTestStandard` (2.5-2).

##### 2.5-2 DigraphsTestStandard

`‣ DigraphsTestStandard`( ) | ( function )

Returns: `true` or `false`.

This function can be called without arguments to test all of the methods included in Digraphs. These tests should take less than a minute to complete.

To quickly test that Digraphs is installed correctly use `DigraphsTestInstall` (2.5-1). For a more thorough test, use `DigraphsTestExtreme` (2.5-3).

##### 2.5-3 DigraphsTestExtreme

`‣ DigraphsTestExtreme`( ) | ( function )

Returns: `true` or `false`.

This function should be called with no argument. It executes a series of very demanding tests, which measure the performance of a variety of functions on large examples. These tests take a long time to complete, at least several minutes.

For these tests to complete, the digraphs library `digraphs-lib` must be downloaded and placed in the `digraphs` directory in a subfolder named `digraphs-lib`. This library can be found on the Digraphs website.

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 A Bib Ind

generated by GAPDoc2HTML