GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1X7 [33X[0;0YInstalling the ANUPQ Package[133X[101X23[33X[0;0YThe ANU [10Xpq[110X program is written in C and the package can be installed under4UNIX and in environments similar to UNIX. In particular it is known to work5on Linux and Mac OS X, and also on Windows equipped with cygwin.[133X67[33X[0;0YThe current version of the [5XANUPQ[105X package requires [5XGAP[105X 4.8, and version 1.28of the [5XAutPGrp[105X package. However, we recommend using at least [5XGAP[105X 4.6 and9[5XAutPGrp[105X 1.5.[133X1011[33X[0;0YTo install the [5XANUPQ[105X package, move the file [10Xanupq-[3XXXX[103X[10X.tar.gz[110X for some12version number [3XXXX[103X into the [10Xpkg[110X directory in which you plan to install13[5XANUPQ[105X. Usually, this will be the directory [10Xpkg[110X in the hierarchy of your14version of [5XGAP[105X; it is however also possible to keep an additional [10Xpkg[110X15directory in your private directories. The only essential difference with16installing [5XANUPQ[105X in a [10Xpkg[110X directory different to the [5XGAP[105X home directory is17that one must start [5XGAP[105X with the [10X-l[110X switch (see Section [14XReference: Command18Line Options[114X), e.g. if your private [10Xpkg[110X directory is a subdirectory of [10Xmygap[110X19in your home directory you might type:[133X2021[4X[32X[104X22[4Xgap -l ";myhomedir/mygap"[104X23[4X[32X[104X2425[33X[0;0Ywhere [3Xmyhomedir[103X is the path to your home directory, which may be replaced by26a tilde. The empty path before the semicolon is filled in by the default27path of the [5XGAP[105X home directory.[133X2829[33X[0;0YThen, in your chosen [10Xpkg[110X directory, unpack [10Xanupq-[3XXXX[103X[10X.tar.gz[110X by[133X3031[4X[32X[104X32[4Xtar xf anupq-<XXX>.tar.gz[104X33[4X[32X[104X3435[33X[0;0YChange to the newly created [10Xanupq[110X directory. Now you need to call [10Xconfigure[110X.36If you installed [5XANUPQ[105X into the main [10Xpkg[110X directory, call[133X3738[4X[32X[104X39[4X./configure[104X40[4X[32X[104X4142[33X[0;0YIf you installed ANUPQ in another directory than the usual 'pkg'43subdirectory, instead call[133X4445[4X[32X[104X46[4X./configure --with-gaproot=<path>[104X47[4X[32X[104X4849[33X[0;0Ywhere [3Xpath[103X is the path to the [5XGAP[105X home directory. (You can also call[133X5051[4X[32X[104X52[4X./configure --help[104X53[4X[32X[104X5455[33X[0;0Yfor further options.)[133X5657[33X[0;0YWhat this does is look for a file [10Xsysinfo.gap[110X in the root directory of [5XGAP[105X58in order to determine an architecture name for the subdirectory of [10Xbin[110X in59which to put the compiled [10Xpq[110X binary. This only makes sense if [5XGAP[105X was60compiled for the same architecture that [10Xpq[110X will be. If you have a shared61file system mounted across different architectures, then you should run62[10Xconfigure[110X and [10Xmake[110X for [5XANUPQ[105X for each architecture immediately after63compiling [5XGAP[105X on the same architecture.[133X6465[33X[0;0YIf you had to install the package in your own directory but wish to use the66system [5XGAP[105X then you will need to find out what [3Xpath[103X is. To do this, start up67[5XGAP[105X and find out what [5XGAP[105X's root path is from finding the value of the68variable [10XGAPInfo.RootPaths[110X, e.g.[133X6970[4X[32X Example [32X[104X71[4X[25Xgap>[125X [27XGAPInfo.RootPaths;[127X[104X72[4X[28X[ "/usr/local/lib/gap4r4/" ][128X[104X73[4X[32X[104X7475[33X[0;0Ywould tell you to use [10X/usr/local/lib/gap4r4[110X for [3Xpath[103X.[133X7677[33X[0;0YThe [10Xconfigure[110X command will fetch the architecture type for which [5XGAP[105X has78been compiled last and create a [10XMakefile[110X. You can now simply call[133X7980[4X[32X[104X81[4Xmake[104X82[4X[32X[104X8384[33X[0;0Yto compile the binary and to install it in the appropriate place.[133X8586[33X[0;0YThe path of [5XGAP[105X (see [13XNote[113X below) used by the [10Xpq[110X binary (the value [10XGAP[110X is set87to in the [10Xmake[110X command) may be over-ridden by setting the environment88variable [10XANUPQ_GAP_EXEC[110X. These values are only of interest when the [10Xpq[110X89program is run as a standalone; however, the [10XtestPq[110X script assumes you have90set one of these correctly (see Section [14X'[33X[0;0YTesting your ANUPQ installation[133X'[114X).91When the [10Xpq[110X program is started from [5XGAP[105X communication occurs via an92iostream, so that the [10Xpq[110X binary does not actually need to know a valid path93for [5XGAP[105X is this case.[133X9495[33X[0;0Y[13XNote.[113X By [21Xpath of [5XGAP[105X[121X we mean the path of the command used to invoke [5XGAP[105X96(which should be a script, e.g. the [10Xgap.sh[110X script generated in the [10Xbin[110X97directory for the version of [5XGAP[105X when [5XGAP[105X was compiled). The usual strategy98is to copy the [10Xgap.sh[110X script to a standard location, e.g.99[10X/usr/local/bin/gap[110X. It is a mistake to copy the [5XGAP[105X executable [10Xgap[110X (in a100directory with name of form [10Xbin/[3Xcompile-platform[103X[10X[110X) to the standard location,101since direct invocation of the executable results in [5XGAP[105X starting without102being able to find its own library (a fatal error).[133X103104105[1X7.1 [33X[0;0YTesting your ANUPQ installation[133X[101X106107[33X[0;0YNow it is time to test the installation. After doing [10Xconfigure[110X and [10Xmake[110X you108will have a [10XtestPq[110X script. The script assumes that, if the environment109variable [10XANUPQ_GAP_EXEC[110X is set, it is a correct path for [5XGAP[105X, or otherwise110that the [10Xmake[110X call that compiled the [10Xpq[110X program set [10XGAP[110X to a correct path111for [5XGAP[105X (see Section [14X'[33X[0;0YRunning the pq program as a standalone[133X'[114X for more112details). To run the tests, just type:[133X113114[4X[32X[104X115[4X./testPq[104X116[4X[32X[104X117118[33X[0;0YSome of the tests the script runs take a while. Please be patient. The119script checks that you not only have a correct [5XGAP[105X (at least version 4.4)120installation that includes the [5XAutPGrp[105X package, but that the [5XANUPQ[105X package121and its [10Xpq[110X binary interact correctly. You should see something like the122following output:[133X123124[4X[32X Example [32X[104X125[4X[28XMade dir: /tmp/testPq[128X[104X126[4X[28XTesting installation of ANUPQ Package (version 3.1)[128X[104X127[4X[28X [128X[104X128[4X[28XThe first two tests check that the pq C program compiled ok.[128X[104X129[4X[28XTesting the pq binary ... OK.[128X[104X130[4X[28XTesting the pq binary's stack size ... OK.[128X[104X131[4X[28XThe pq C program compiled ok! We test it's the right one below.[128X[104X132[4X[28X [128X[104X133[4X[28XThe next tests check that you have the right version of GAP[128X[104X134[4X[28Xfor the ANUPQ package and that GAP is finding[128X[104X135[4X[28Xthe right versions of the ANUPQ and AutPGrp packages.[128X[104X136[4X[28X [128X[104X137[4X[28XChecking GAP ...[128X[104X138[4X[28X pq binary made with GAP set to: /usr/local/bin/gap[128X[104X139[4X[28X Starting GAP to determine version and package availability ...[128X[104X140[4X[28X GAP version (4.6.5) ... OK.[128X[104X141[4X[28X GAP found ANUPQ package (version 3.1) ... good.[128X[104X142[4X[28X GAP found pq binary (version 1.9) ... good.[128X[104X143[4X[28X GAP found AutPGrp package (version 1.5) ... good.[128X[104X144[4X[28X GAP is OK.[128X[104X145[4X[28X [128X[104X146[4X[28XChecking the link between the pq binary and GAP ... OK.[128X[104X147[4X[28XTesting the standard presentation part of the pq binary ... OK.[128X[104X148[4X[28XDoing p-group generation (final GAP/ANUPQ) test ... OK.[128X[104X149[4X[28XTests complete.[128X[104X150[4X[28XRemoved dir: /tmp/testPq[128X[104X151[4X[28XEnjoy using your functional ANUPQ package![128X[104X152[4X[32X[104X153154155[1X7.2 [33X[0;0YRunning the pq program as a standalone[133X[101X156157[33X[0;0YWhen the [10Xpq[110X program is run as a standalone it sometimes needs to call [5XGAP[105X to158compute stabilisers of subgroups; in doing so, it first checks the value of159the environment variable [10XANUPQ_GAP_EXEC[110X, and uses that, if set, or otherwise160the value of [10XGAP[110X it was compiled with, as the path for [5XGAP[105X. If you ran161[10XtestPq[110X (see Section [14X'[33X[0;0YTesting your ANUPQ installation[133X'[114X) and you got both [5XGAP[105X162is [10XOK[110X and the link between the [10Xpq[110X binary and [5XGAP[105X is [10XOK[110X, you should be fine.163Otherwise heed the recommendations of the error messages you get and run the164[10XtestPq[110X until all tests are passed.[133X165166[33X[0;0YIt is especially important that the [5XGAP[105X, whose path you gave, should know167where to find the [5XANUPQ[105X and [5XAutPGrp[105X packages. To ensure this the path should168be to a shell script that invokes [5XGAP[105X. If you needed to install the needed169packages in your own directory (because, say, you are not a system170administrator) then you should create your own shell script that runs [5XGAP[105X171with a correct setting of the [10X-l[110X option and set the path used by the [10Xpq[110X172binary to the path of that script. To create the script that runs [5XGAP[105X it is173easiest to copy the system one and edit it, e.g. start by executing the174following UNIX commands (skip the second step if you already have a [10Xbin[110X175directory; [10Xyou@unix>[110X is your UNIX prompt):[133X176177[4X[32X[104X178[4Xyou@unix> cd[104X179[4Xyou@unix> mkdir bin[104X180[4Xyou@unix> cd bin[104X181[4Xyou@unix> which gap[104X182[4X/usr/local/bin/gap[104X183[4Xyou@unix> cp /usr/local/bin/gap mygap[104X184[4Xyou@unix> chmod +x mygap[104X185[4X[32X[104X186187[33X[0;0YAt the second-last step use the path of [5XGAP[105X returned by [10Xwhich gap[110X. Now188hopefully you will have a copy of the script that runs the system [5XGAP[105X in189[10Xmygap[110X. Now use your favourite editor to edit the [10X-l[110X part of the last line of190[10Xmygap[110X which should initially look something like:[133X191192[4X[32X[104X193[4Xexec $GAP_DIR/bin/$GAP_PRG -m $GAP_MEM -o 970m -l $GAP_DIR $*[104X194[4X[32X[104X195196[33X[0;0Yso that it becomes (the tilde is a UNIX abbreviation for your home197directory):[133X198199[4X[32X[104X200[4Xexec $GAP_DIR/bin/$GAP_PRG -m $GAP_MEM -o 970m -l "$GAP_DIR;~/gapstuff" $*[104X201[4X[32X[104X202203[33X[0;0Yassuming that your personal [5XGAP[105X [10Xpkg[110X directory is a subdirectory of [10Xgapstuff[110X204in your home directory. Finally, to let the [10Xpq[110X program know where [5XGAP[105X is and205also know where your [10Xpkg[110X directory is that contains [5XANUPQ[105X, set the206environment variable [10XANUPQ_GAP_EXEC[110X to the complete (i.e. absolute) path of207your [10Xmygap[110X script (do not use the tilde abbreviation).[133X208209210211