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