-
Notifications
You must be signed in to change notification settings - Fork 52
/
Copy pathz-chap1.xml
245 lines (200 loc) · 9.27 KB
/
z-chap1.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<Chapter Label="Installing Digraphs">
<Heading>Installing &Digraphs;</Heading>
<Section Label="For those in a hurry">
<Heading>For those in a hurry</Heading>
In this section we give a brief description of how to start using
&Digraphs;.<P/>
It is assumed that you have a working copy of &GAP; with version number
&GAPVERS; 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
<URL>https://www.gap-system.org</URL>.<P/>
The following is a summary of the steps that should lead to a
successful installation of &Digraphs;:
<List>
<Item>
ensure that the &IO; package version &IOVERS; or higher is available.
&IO; must be compiled before &Digraphs; can be loaded.
</Item>
<Item>
ensure that the &ORB; package version &ORBVERS; 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.
</Item>
<Item> ensure that the &DATASTRUCTURES; package version
&DATASTRUCTURESVERS; or higher is available.
</Item>
<Item>
<B>This step is optional:</B> certain functions in &Digraphs; require
the &GRAPE; package to be available; see Section
<Ref Subsect="The Grape package"/> for full details. To use these
functions make sure
that the &GRAPE; package version &GRAPEVERS; 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
<Ref Subsect="The Grape package"/> will not work.
</Item>
<Item>
<B>This step is optional:</B> certain functions in &Digraphs; require
the &NautyTracesInterface; package to be available.
<!-- TODO
see Section
<Ref Subsect="The Grape package"/> for full details. -->
If you want to make use of these functions, please ensure that the
&NautyTracesInterface; package version &NAUTYTRACESINTERFACEVERS; or
higher is available. If &NautyTracesInterface; is not available,
then &Digraphs; can be used as normal with the exception that
functions whose names contain <Q>Nauty</Q> will not work.
</Item>
<Item>
download the package archive <F>&ARCHIVENAME;.tar.gz</F> from
<URL Text="the Digraphs package webpage">https://digraphs.github.io/Digraphs/</URL>.
</Item>
<Item>
unzip and untar the file, this should create a directory called
<F>&ARCHIVENAME;</F>.
</Item>
<Item>
locate the <F>pkg</F> directory of your &GAP; directory, which contains
the directories <F>lib</F>, <F>doc</F> and so on. Move the directory
<F>&ARCHIVENAME;</F> into the <F>pkg</F> directory.
</Item>
<Item>
it is necessary to compile the &Digraphs; package.
Inside the <F>pkg/&ARCHIVENAME;</F> directory, type
<Listing>
<![CDATA[./configure
make]]></Listing>
Further information about this step can be found in Section
<Ref Sect="Compiling the kernel module"/>.
</Item>
<Item>
start &GAP; in the usual way (i.e. type <C>gap</C> at the command line).
</Item>
<Item>
type <C>LoadPackage("digraphs");</C>
</Item>
</List>
If you want to check that the package is working correctly, you
should run some of the tests described in Section
<Ref Sect="Testing your installation"/>.
<Subsection Label="Configuration options">
<Heading>Configuration options</Heading>
In addition to the usual autoconf generated configuration flags, the following
flags are provided.
<Table Align="|l|l|">
<Caption>Configuration flags</Caption>
<HorLine/>
<Row>
<Item>Option</Item><Item>Meaning</Item>
</Row>
<HorLine/>
<HorLine/>
<Row>
<Item><C>--enable-code-coverage</C></Item><Item> enable code coverage support</Item>
</Row>
<Row>
<Item><C>--enable-compile-warnings</C></Item><Item> enable compiler warnings</Item>
</Row>
<Row>
<Item><C>--enable-debug</C></Item><Item> enable debug mode</Item>
</Row>
<Row>
<Item><C>--with-external-bliss</C></Item><Item> use external &BLISS;</Item>
</Row>
<Row>
<Item><C>--with-external-planarity</C></Item><Item> use external &EDGE_PLANARITY_SUITE;</Item>
</Row>
<Row>
<Item><C>--with-gaproot</C></Item><Item> specify root of GAP installation</Item>
</Row>
<Row>
<Item><C>--without-intrinsics</C></Item><Item> do not use compiler intrinsics even if available</Item>
</Row>
<HorLine/>
</Table>
</Subsection>
</Section>
<!--**********************************************************************-->
<!--**********************************************************************-->
<Section Label="Optional package dependencies">
<Heading>Optional package dependencies</Heading>
<!--********************************************************************-->
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. <P/>
<!--********************************************************************-->
<Subsection Label="The Grape package">
<Heading>The Grape package</Heading>
The &GRAPE; package must be available for the following operations to be
available:
<List>
<Item><Ref Oper="Graph"/> with a digraph argument</Item>
<Item><Ref Attr="AsGraph"/> with a digraph argument</Item>
<Item><Ref Oper="Digraph"/> with a &GRAPE; graph argument</Item>
</List>
If &GRAPE; is not available, then &Digraphs; can be used as normal with
the exception that the functions above will not work.
</Subsection>
</Section>
<!--**********************************************************************-->
<!--**********************************************************************-->
<Section Label="Compiling the kernel module">
<Heading>Compiling the kernel module</Heading>
The &Digraphs; package has a &GAP; kernel component in
C which should be compiled. This component contains certain low-level
functions required by &Digraphs;.
<P/>
It is not possible to use the &Digraphs; package without compiling it.<P/>
To compile the kernel component inside the <F>pkg/&ARCHIVENAME;</F>
directory, type
<Listing>
<![CDATA[
./configure
make]]></Listing>
<P/>
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).<P/>
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!
</Section>
<!--**********************************************************************-->
<!--**********************************************************************-->
<Section Label="Rebuilding the documentation">
<Heading>Rebuilding the documentation</Heading>
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 <Ref Func="DigraphsMakeDoc"/>.
<#Include Label="DigraphsMakeDoc">
</Section>
<!--**********************************************************************-->
<!--**********************************************************************-->
<Section Label="Testing your installation">
<Heading>Testing your installation</Heading>
In this section we describe how to test that &Digraphs; is working as
intended. To test that &Digraphs; is installed correctly use
<Ref Func="DigraphsTestInstall"/> or for more extensive tests use
<Ref Func="DigraphsTestStandard"/>. <P/>
If something goes wrong, then please review the instructions in Section <Ref
Sect="For those in a hurry"/> and ensure that &Digraphs; has been
properly installed. If you continue having problems, please use the <URL
Text="issue tracker">https://github.com/digraphs/Digraphs/issues</URL>
to report the issues you are having.
<#Include Label="DigraphsTestInstall">
<#Include Label="DigraphsTestStandard">
<#Include Label="DigraphsTestExtreme">
</Section>
<!--**********************************************************************-->
<!--**********************************************************************-->
</Chapter>