1GAP INSTALLATION INSTRUCTIONS
2=============================
3
41. Installation Overview
52. Getting the Archive
63. Unpacking
74. Compilation
85. Configure options
96. Testing the installation
107. Packages
118. Finish Installation and Cleanup
129. The Documentation
1310. If Things Go Wrong
1411. Known Problems of the Configure Process
1512. Optimisation and Compiler Options
1613. GAP for macOS
1714. Expert Windows Installation
18
19These are the installation instructions for the GAP source distribution
20on Unix (which covers Linux and macOS), and for the GAP binary distribution
21for Windows.
22
23Alternative installation methods which aim to simplify the installation
24mostly by offering precompiled binaries are:
25
26* GAP installer for Homebrew (package manager for macOS)
27* Docker image for GAP and most of the packages
28* the rsync-based binary distribution for Linux
29
30Note, however, that these are updated independently and may not yet provide
31the latest GAP release. Further details are available on the GAP website
32here: <https://www.gap-system.org/Download/alternatives.html>.
33
34
351 Installation Overview
36=======================
37
38The GAP source distribution is designed to be installed in a similar
39way on a wide range of operating systems and to allow for considerable
40customisation of the installation to meet specific system needs. As a
41result, it may differ from what you would expect under your particular
42operating system. In particular, it does not include an automatic installer
43program.
44
45Installing the GAP distribution with all the packages and full data libraries
46will require (except on Windows) both a C and a C++ compiler (gcc or clang
47is recommended) to be installed on your system. Please also consult
48section "Installing required dependencies" in the file `README.md`.
49
50To get maximum benefit from GAP and from various packages, we recommend
51to install a number of other free software libraries (and their associated
52development tools) although they are not required for basic operation.
53See <https://www.gap-system.org/Download/tools.html> for more details.
54
55The installation consists of five easy steps:
56
571. Get the archive suitable for your system
582. Unpack the archive in the directory where you wish to install GAP
59   If you are reading this file as part of a GAP installation, you have
60   probably already done this.
613. Compile the kernel (unless a binary has been provided already)
624. Test the installation
635. Compile the packages that require it.
64   (some of them will only work under Unix).
65
66Installation will always install the new version of GAP. If you are
67worried about losing the old version, you can keep an existing installation
68of GAP in another directory, it will not be overwritten. Make sure, however,
69to adjust any links or scripts so that you run the latest version.
70
71Section "The Documentation" below contains information about the manual,
72where to find and how to print it. Section "If Things Go Wrong" below lists
73common problems with the installation.
74
75
762 Getting the Archive
77=====================
78
79You can get archives for the GAP distribution from the GAP website at
80<https://www.gap-system.org/Releases/>. If you use Unix (including macOS),
81you need to download the GAP source distribution, that is, a file named
82
83    gap-4.X.Y.tar.bz2
84
85for GAP 4.X.Y. Alternatively, you can also use the `.tar.gz` or `.zip`
86archives.
87
88If you use Windows, then download the `.exe` installer which contains binaries
89for GAP and some packages and provides the standard installation procedure.
90
91
923 Unpacking
93===========
94
95The exact method of unpacking will vary dependently on the operating system
96and the type of archive used.
97
98Unix (including macOS)
99----------------------
100
101Under Unix style operating systems (such as Linux and macOS), unpack the
102archive `gap-4.X.Y.tar.bz2` in whatever place you want GAP to reside.
103It will expand into a directory named `gap-4.X.Y`.
104
105(If you unpack the archive as root user under Unix, make sure that you
106issue the command `umask 022` before, to ensure that users will have
107permissions to read the files.)
108
109Windows
110-------
111
112If you are using the `.exe` installer, simply download and run it. It will
113offer a standard installation procedure, during which you will be able to
114select installation path.
115
116Note that the path to the GAP directory must not contain spaces.
117For example, you may install it in a directory named like `C:\gap-4.X.Y`
118(default), `D:\gap` or `C:\Math\GAP\my-gap-4.X.Y`, but you must not install
119it in a directory named like `C:\Users\alice\My Documents\gap-4.X.Y` or
120`C:\Program files\gap-4.X.Y` etc.
121
122
1234 Compilation
124=============
125
126For the Windows version the unpacking process will already have put
127binaries in place. Under Unix you will have to compile such a binary
128yourself. (macOS users: please see section "GAP for macOS" below for
129additional information about compilation)
130
131Change to the directory `gap-4.X.Y` (which you just created by unpacking).
132To get started quickly you may simply build GAP with default settings
133by issuing the two commands
134
135    ./configure
136    make
137
138(note that on BSD systems you have to call `gmake` instead of `make`).
139
140Both will produce a lot of text output. You should end up with a shell
141script `bin/gap.sh` which you can use to start GAP. If you want, you can
142copy this script later to a directory that is listed in your search path.
143
144macOS users please note that this script must be started from within the
145Terminal Application. It is not possible to start GAP by clicking this
146script.
147
148If you get strange error messages from these commands, make sure that you
149got the Unix version of GAP (i.e. not the `-win.zip` format archive) and that
150you extracted the archive on the same machine on which you compile. See
151also the section "Known Problems of the Configure Process" below.
152
153
1545 Configure options
155===================
156
157There are several options to the build process which you can specify at the
158configure step. The following paragraphs describe these options; a brief
159description of each is also available via
160
161    ./configure --help
162
163GMP
164---
165
166GAP 4 uses the external library GMP (see <https://www.gmplib.org>) for large
167integer arithmetic, replacing the built-in code used in previous versions
168and achieving a significant speed-up in related computations. There is a
169version of GMP included with the GAP archive you downloaded and this will
170be used if GAP does not find a version of GMP already installed on your
171system. You can configure which GMP GAP uses as follows:
172
173./configure --with-gmp=builtin|PREFIX
174
175If this option is *not* given, GAP will try to find a suitable version of GMP
176can be found using the specified CPPFLAGS, CFLAGS and LDFLAGS. If not,
177it will fallback to compiling its own version of GMP.
178
179You can force GAP to build its own copy of GMP by passing `--with-gmp=builtin`.
180Finally, you pass a prefix path where GAP should search for a copy of GMP;
181i.e., `--with-gmp=PREFIX` instructs GAP to search for the header file `gmp.h`
182in `PREFIX/includes`, and the library itself in `PREFIX/lib`.
183
184For historical reasons, you may also pass `--with-gmp=system`, which is
185simply ignored by GAP (i.e., the default behavior described above is used).
186
187Readline
188--------
189
190GAP optionally also uses the external library GNU Readline (see
191<https://www.gnu.org/software/readline>) for better command line
192editing. GAP will use this library by default if it is available on
193your system. You can configure Readline use as follows:
194
195    ./configure --with-readline=yes|no|"path"
196
197If the argument you supply is `yes`, then GAP will look in standard locations
198for a Readline installed on your system. Or you can specify a path to a
199Readline installation. If the supplied argument is `no` then readline support
200will not be used.
201
202Note that `--with-readline` is equivalent to `--with-readline=yes` and
203`--without-readline` is equivalent to `--with-readline=no`.
204
205There was an annoying bug in the readline library on macOS which made
206pasting text very slow. If you have that version of the readline library,
207this delay be avoided by pressing a key (e.g. space) during the paste, or
208you may prefer to build GAP without readline to avoid this issue entirely.
209
210Build 32-bit vs. 64-bit binaries
211--------------------------------
212
213GAP will attempt to build in 32-bit mode on 32-bit machines and in 64-bit
214mode on 64-bit machines. On a 64-bit machine, you can tell GAP to build in
21532-bit instead, if you wish. In that case, GMP will also be built in 32-bit
216mode. You can configure the build mode as follows:
217
218    ./configure ABI=32
219
220or
221
222    ./configure ABI=64
223
224
225The value of the argument determines the build mode GAP will attempt to
226use. Note that building in 64-bit mode on a 32-bit architecture is not
227supported.
228
229It is possible (on a 64-bit machine) to have builds in both 32- and 64-bit
230modes using "out of tree builds". For details, please refer to the file
231`README.buildsys.md`.
232
233
2346 Testing the installation
235==========================
236
237You are now at a point where you can start GAP for the first time. Unix
238users (including those on macOS) should type
239
240    ./bin/gap.sh
241
242Windows users should start GAP with the batch file
243
244    C:\gap-4.X.Y\bin\gap.bat
245
246GAP should start up with its banner and after a little while give you a
247command prompt
248
249    gap>
250
251Try a few commands to see if the compilation succeeded.
252
253    gap> 2 * 3 + 4;
254    10
255    gap> Factorial( 30 );
256    265252859812191058636308480000000
257    gap> m11 := Group((1,2,3,4,5,6,7,8,9,10,11),(3,7,11,8)(4,10,5,6));;
258    gap> Size( m11 );
259    7920
260    gap> Length( ConjugacyClasses( m11 ) );
261    10
262    gap> Factors( 10^42 + 1 );
263    [ 29, 101, 281, 9901, 226549, 121499449, 4458192223320340849 ]
264
265If you get the error message `hmm, I cannot find lib/init.g` you are likely
266to have installed only the binary (or used the wrong path on Windows).
267
268If GAP starts but you get error messages for the commands you issued, the
269files in the `lib` directory are likely to be corrupt or incomplete. Make
270sure that you used the proper archive and that extraction proceeded without
271errors.
272
273Especially try the command line editing and history facilities, because
274they are probably the most machine dependent feature of GAP. Enter a few
275commands and then make sure that `Ctrl-P` redisplays the last command, that
276`Ctrl-E` moves the cursor to the end of the line, that `Ctrl-B` moves the
277cursor back one character, and that `Ctrl-D` deletes single characters. So,
278after entering the above commands, typing
279
280    Ctrl-P  Ctrl-E  Ctrl-B  Ctrl-B  Ctrl-B  Ctrl-B  Ctrl-D  2  Return
281
282should give the following lines:
283
284    gap> Factors( 10^42 + 2 );
285    [ 2, 3, 433, 953, 128400049, 3145594690908701990242740067 ]
286
287If you want to run a quick test of your GAP installation (though this is
288not required), you can read in a test script that exercises some GAP's
289capabilities. To run this test, we recommend to use a computer with at
290least 1 GB of memory; on an up-to-date desktop computer, it should
291complete in about a minute. You will get a large number of lines with
292output about the progress of the tests, for example:
293
294    gap> Read( Filename( DirectoriesLibrary( "tst" ), "testinstall.g" ) );
295    You should start GAP4 using `gap -A -x 80 -r -m 100m -o 1g -K 2g'.
296
297    Architecture: SOMETHING-SOMETHING-gcc-default64
298
299    testing: ..../gap-4.X.Y/tst/testinstall/alghom.tst
300          84 ms (55 ms GC) and 2.90MB allocated for alghom.tst
301    testing: ..../gap-4.X.Y/tst/testinstall/algmat.tst
302         839 ms (114 ms GC) and 219MB allocated for algmat.tst
303    [ further lines deleted ]
304    testing: ..../gap-4.X.Y/tst/testinstall/zmodnze.tst
305         127 ms (119 ms GC) and 1.29MB allocated for zmodnze.tst
306    -----------------------------------
307    total     62829 ms (24136 ms GC) and 8.61GB allocated
308                  0 failures in 252 files
309
310    #I  No errors detected while testing
311
312GAP will exit after this test with the corresponding exit code (this is
313useful for automated testing). If you want to run a more advanced check
314(this is not required and may take up to an hour), you can start a new
315GAP session and read `teststandard.g` which is an extended test script
316performing all tests from the `tst` directory.
317
318    gap> Read( Filename( DirectoriesLibrary( "tst" ), "teststandard.g" ) );
319
320Again we recommend a computer with at least 1 GB of memory to run this
321test. It takes significantly longer to complete than `testinstall.g`,
322but otherwise produces output similar to the `testinstall.g` test.
323
324Windows users should note that the Command Prompt user interface provided
325by Microsoft might not offer history scrolling or cut and paste with the
326mouse. To get a better environment, use the script `gap.bat` to start GAP
327instead of `gapcmd.bat`.
328
329
3307 Packages
331==========
332
333The GAP distribution already contains all the GAP packages which we
334redistribute in the `gap-4.X.Y/pkg` directory, and for packages that consist
335only of GAP code no further installation is necessary.
336
337Some packages however contain external binaries that will require separate
338compilation. (If you use Windows you may not be able to use external
339binaries anyhow, except for those packages whose binaries for Windows are
340included in their distribution, so you may skip the rest of this section.)
341You can skip this compilation now and do it later -- GAP will work fine,
342but the capabilities of the affected packages won't be available.
343
344In general, each package contains a `README` file that contains information
345about the package and the necessary installation. Typically, for a package
346that requires compilation, the installation steps consist of changing to
347the packages directory and issuing the commands `./configure && make` in
348the packages directory. This has to be done separately for every package,
349and their `README` files should tell exactly which commands to use.
350
351To help with this tedious process, we ship a shell script called
352`bin/BuildPackages.sh` that will compile most of the packages that require
353compilation on Unix systems (including Linux and macOS) with sufficiently
354many libraries, headers and tools available. To use it, change to the
355`gap-4.X.Y/pkg` directory and execute the script like this:
356
357    ../bin/BuildPackages.sh
358
359If you have problems with package installations please contact the package
360authors as listed in the packages README file. Many GAP packages have their
361own development repositories and issue trackers, details of which could be
362found at <https://gap-packages.github.io/>.
363
364
3658 Finish Installation and Cleanup
366=================================
367
368Congratulations, your installation is finished.
369
370Once the installation is complete, we would like to ask you to send us a
371short note to <support@gap-system.org>, telling us about the installation.
372(This is just a courtesy; we like to know how many people are using GAP and
373get feedback regarding difficulties (hopefully none) that users may have
374had with installation.)
375
376We also suggest that you subscribe to our GAP Forum mailing list; see the
377GAP web pages for details. Whenever there is a bug fix or new release of
378GAP this is where it is announced. The GAP Forum also deals with user
379questions of a general nature; bug reports and other problems you have
380while installing and/or using GAP should be sent to <support@gap-system.org>.
381
382If you are new to GAP, you might want to read through the following two
383sections for information about the documentation.
384
385
3869 The Documentation
387====================
388
389The GAP documentation is distributed in various "books". The standard
390distribution contains two of them. GAP packages (see Chapter "GAP Packages"
391of the GAP Reference manual and, in particular, the Section "Loading a GAP
392Package") provide their own documentation in their own `doc` directories.
393
394All documentation will be available automatically within every GAP session
395(see Section "Help" of the GAP Tutorial and Chapter "The Help System" in
396the GAP Reference manual).
397
398There also is (if installed) an HTML version of some books that can be
399viewed with an HTML browser, see Section "Changing the Help Viewer" of the
400GAP Reference manual.
401
402The manual is also available in pdf format. In the full distribution these
403files are included in the directory `gap-4.X.Y/doc` in the subdirectories
404`tut` (a beginner's tutorial), `ref` (the reference manual), and `hpc` (HPC-GAP
405reference manual).
406
407If you want to use these manual files with the help system from your GAP
408session you may check (or make sure) that your system provides some
409additional software like [xpdf](https://www.foolabs.com/xpdf/) or
410[acroread](https://www.adobe.com/products/acrobat/readstep.html).
411
412To complete beginners, we suggest you read (parts of) the tutorial first
413for an introduction to GAP 4. Then start to use the system with extensive
414use of the help system (see Section "Help" of the GAP Tutorial and Chapter
415"The Help System" in the GAP Reference manual).
416
417As some of the manuals are quite large, you should not immediately print
418them. If you start using GAP it can be helpful to print the tutorial (and
419probably the first chapters of the reference manual). There is no
420compelling reason to print the whole of the reference manual, better use
421the help system which provides useful search features.
422
423
42410 If Things Go Wrong
425=====================
426
427This section lists a few common problems when installing or running GAP and
428their remedies. Also see the FAQ list on the GAP web pages at
429<https://www.gap-system.org/Faq/faq.html>.
430
431### GAP starts with a warning `hmm, I cannot find lib/init.g`
432
433You either started only the binary or did not edit the shell script/batch
434file to give the correct library path. You must start the binary with the
435command line option
436
437    -l <path>
438
439where `<path>` is the path to the GAP home directory (see Section "Command
440Line Options" of the GAP Reference manual).
441
442### When starting, GAP produces error messages about undefined variables.
443
444You might have a `.gaprc` file in your home directory that was used by
445GAP 4.4 but is not compatible with later releases. See section "The gap.ini
446and gaprc files" in Section "Running GAP" of the GAP Reference manual.
447
448### GAP stops with an error message `exceeded the permitted memory`.
449
450Your job required more memory than is permitted by default (this is a
451safety feature to avoid single jobs wrecking a multi-user system.) You can
452type `return;` to continue, if the error message happens repeatedly it might
453be better to start the job anew and use the command line option `-o` to set a
454higher memory limit.
455
456### GAP stops with an error message: `cannot extend the workspace any more`.
457
458Your calculation exceeded the available memory. Most likely you asked GAP
459to do something which required more memory than you have (as listing all
460elements of S_15 for example). You can use the command line option `-g` (see
461Section "Command Line Options" of the GAP Reference manual) to display how
462much memory GAP uses. If this is below what your machine has available
463extending the workspace is impossible. Start GAP with more memory using the
464`-o` option.
465
466### GAP is not able to allocate memory above a certain limit
467
468In a 32-bit mode GAP is unable to use over 4 GB of memory. In fact, since
469some address space is needed for system purposes, it is likely that GAP
470sessions will be limited to 3 GB or even less.
471
472Depending on the operating system, it also might be necessary to compile
473the GAP binary statically (i.e. to include all system libraries) to avoid
474collisions with system libraries located by default at an address within
475the workspace. (Under Linux for example, 1 GB is a typical limit.) You can
476compile a static binary using make static.
477
478### Recompilation fails or the new binary crashes.
479
480Call make clean and restart the configure / make process completely from
481scratch. (It is possible that the operating system and/or compiler got
482upgraded in the meantime and so the existing .o files cannot be used any
483longer.
484
485### A calculation runs into an error `no method found`.
486
487GAP is not able to execute a certain operation with the given arguments.
488Besides the possibility of bugs in the library this means two things:
489Either GAP truly is incapable of coping with this task (the objects might
490be too complicated for the existing algorithms or there might be no
491algorithm that can cope with the input). Another possibility is that GAP
492does not know that the objects have certain nice properties (like being
493finite) which are required for the available algorithms. See section
494"ApplicableMethod" and "KnownPropertiesOfObject" of the GAP Reference
495manual.
496
497### The ^-key or "-key cannot be entered.
498
499This is a problem if you are running a keyboard driver for some non-english
500languages. These drivers catch the ^ character to produce the French circumflex
501accent and do not pass it properly to GAP. For macOS users, as a workaround
502please refer to the section "GAP for macOS" below for information on
503how to install readline and section 5 on how to recompile GAP, for windows no
504fix is known. (One can type POW(a,b) for a^b.)
505
506## Problems specific to Windows
507
508### Cut and Paste does not work
509
510You might want to try different shells, using both of the two `.bat`
511files in the `bin` directory: `gap.bat` and `gapcmd.bat`. Also,
512<https://www.gap-system.org/Faq/faq.html#4> might give a remedy.
513
514### GAP does not work in the remote desktop
515
516GAP can not be started in the Windows Command Prompt shell (via `gapcmd.bat`)
517in the remote desktop. To start GAP in the remote desktop, use the script
518`gap.bat` which should work in such setting.
519
520### You get an error message about the `cygwin1.dll`
521
522GAP comes with a version of this dynamic library. If you have another
523version installed (use "Find"), delete the older one (and probably copy the
524newer one in both places).
525
526### Something else went wrong
527
528If all these remedies fail or you encountered a bug please send a mail to
529<support@gap-system.org>. Please give:
530
531* a (short, if possible) self-contained excerpt of a GAP session containing
532  both input and output that illustrates your problem (including comments
533  of why you think it is a bug); and
534* state the type of machine, the operating system, which compiler you used
535  (if any), and the version of GAP you are using (the line from the GAP
536  banner starting with
537
538        GAP, Version 4.X.Y...
539
540  when GAP starts up, supplies the information required).
541
542
54311 Known Problems of the Configure Process
544==========================================
545
546The configure script respects compiler settings given in environment
547variables. However such settings may conflict with the automatic
548configuration process. If configure produces strange error messages about
549not being able to run the compiler, check whether environment variables
550that might affect the compilation (in particular `CC`, `CXX`, `CPP`, `LD`,
551`CFLAGS`, `CXXFLAGS`, `CPPFLAGS` and `LDFLAGS`) are set and reset them using
552`unsetenv`.
553
554
55512 Optimization and Compiler Options
556====================================
557
558Because of the large variety of different versions of Unix and different
559compilers it is possible that the configure process will not chose best
560possible optimisation level, but you might need to tell make about it.
561
562If you want to compile GAP with further compiler options (for example
563specific processor optimisations) you will have to assign them to the
564variables `CFLAGS`, `CXXFLAGS`, `CPPFLAGS` and `LDFLAGS`, then re-run
565`configure` and `make`.
566
567If there are several compiler options or if they contain spaces you might
568have to enclose them by quotes depending on the shell you are
569using.
570
571The configure process also introduces some default compiler options. You can
572eliminate these by assigning the replacement options to the variable `CFLAGS`.
573
574The recommended C/C++ compiler for GAP is the GNU C compiler gcc version 4.8
575or later. The Clang compiler version 3.0 and later also should work fine.
576If you use another compiler, please let us know your experience with using
577it to compile GAP.
578
579If you do wish to use GAP with a specific compiler, you can set the environment
580variables `CC` resp. `CXX` to the name of your preferred C resp. C++ compiler
581and then rerun `configure` and `make`.
582
583As an example, here is how one can configure GAP to compile with Clang 5
584(assuming it is installed on your system), with custom compiler flags and
585debug mode enabled:
586
587    ./configure CC=clang-5.0 CXX=clang++-5.0 CFLAGS="-g -Og" CXXFLAGS="-g -Og" --enable-debug
588
589
59013 GAP for macOS
591================
592
593Currently we provide no precompiled binary distribution for macOS. However,
594since macOS is an operating system in the Unix family, you can follow the
595Unix installation guidelines to compile GAP; then you will be able to use
596all features of GAP as well as all packages. However for installation you
597might need a basic knowledge of Unix.
598
599The following are a couple of notes and remarks about this:
600
601First, note that you should get the Unix type GAP archives, i.e. one of
602`.zip`, `.tar.gz` or `.tar.bz2` archives, but not the `-win.zip` archive
603(you won't be able to compile the program as given in the `-win.zip` archive).
604
605To compile and run GAP you will have to open the Terminal application and
606type the necessary Unix commands into its window. The Terminal application
607can be found in the Utilities folder in the Applications folder.
608
609Next, you will need a compiler and build tools like `make`. These tools are
610included in the "Xcode" application which is not installed by default on a
611new Mac. On all recent versions of macOS, you can install it for free via
612the App Store. Afterwards, you also need to run the following command from
613a terminal in order to make all required tools available via the command line:
614
615     xcode-select --install
616
617You might want to consider using GNU readline by installing it via:
618
619 * using Homebrew: `brew install readline`
620 * using Fink: `fink install readline7`
621 * using MacPorts: `port install readline`
622
623After that you have to compile GAP and tell it where to find your installation of GNU readline
624using the following commands.
625
626For Homebrew, use these commands:
627
628    ./configure --with-readline=$(brew --prefix)/opt/readline
629    make
630
631For Fink, use these commands:
632
633    ./configure CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib
634    make
635
636For MacPorts, use these commands:
637
638    ./configure CPPFLAGS=-I/opt/local/include LDFLAGS=-L/opt/local/lib
639    make
640
641For further information on how to use GNU readline, refer to section 5 above.
642
643Now simply follow the Unix installation instructions to compile and start
644GAP and then it will run in this Terminal window.
645
646
64714 Expert Windows Installation
648==============================
649
650Instead of using the `.exe` installer, you may use the `-win.zip archive`,
651which you may unpack with an appropriate extractor. The content of the
652latter archive is identical to the content of the former one, except that
653there is no installation procedure and you may have to edit the `*.bat`
654files yourself.
655
656The `-win.zip archive` already contains `*.bat` files which will work if GAP
657is installed in the standard location, which is `C:\gap-4.X.Y`. To install GAP
658there, the archive must be extracted to the main directory of the `C:` drive.
659(If you do not have permissions or sufficient free space to create directories
660there, see the section "Expert Windows Installation" below). Make sure that
661you specify extraction to the `C:\` folder (with no extra directory name --
662the directory `gap-4.X.Y` is part of the archive) to avoid extraction
663in a wrong place or in a separate directory.
664
665After extraction you can start GAP with one of the following files:
666
667    C:\gap-4.X.Y\bin\gap.bat       (recommended)
668    C:\gap-4.X.Y\bin\gapcmd.bat
669
670The `gap.bat` file will start GAP in the `mintty` shell. It allows for
671convenient copying and pasting (e.g. using mouse) and flexible customisation.
672Using its "Options" menu, accessible by the right-click on the pictogram in
673its top left corner, you may adjust the font and colour scheme as you prefer.
674Note that `gap.bat` will open two windows - one actually running GAP and an
675auxiliary one, which may be minimised but should not be closed (otherwise the
676GAP session will be terminated).
677
678If you need to install GAP in a non-standard directory under Windows, we advice
679to use the Windows `.exe` installers which will adjust all paths in batch files
680during the installation. Whenever you use a Windows installer or install GAP f
681rom the `-win.zip` archive, you should avoid paths with spaces, e.g. do not use
682`C:\My Programs\gap-4.X.Y`. If you need to install GAP on another logical drive,
683say `E:`, the easiest way would be just to use `E:\gap-4.X.Y`.
684
685If you need to edit a `*.bat` file to specify the path to your GAP installation
686manually, you will have to replace substrings `/c/gap-4.X.Y/` by the actual path
687to the GAP root directory in the Unix format, and substrings `C:\gap-4.X.Y\` by
688the actual path to the GAP root directory in the Windows format. Please avoid
689introducing new line breaks when editing (i.e. do not use a text editor which
690automatically wraps long lines).
691
692Please contact <support@gap-system.org> if you need further information.
693
694
695Wishing you fun and success using GAP,
696
697The GAP Group
698