Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Instructions to install GAP 4.8.10 and its standard packages in a CoCalc project
Install GAP 4.8.10 in a CoCalc project
Read on for instructions on how to build GAP yourself in your project.
These instructions should work under any Linux or macOS system.
To install in a CoCalc project, you can copy this notebook and evaluate each cell.
Install GAP 4.8.10 following instructions on the GAP website
See instructions at
Note in particular that the path to the GAP directory should not contain spaces.
For a system-wide install, note the extra step in the INSTALL
file:
System-wide installation on CoCalc is discussed at
Download the tarball
Done here using curl; one could alternatively use wget.
In a CoCalc project without internet access, you could
download the tarball to your computer, then upload it to your CoCalc project
or copy the tarball shared here to your project (and check the sha256 against the one on the GAP website)
Check the sha256 hash
Unpack the tarball
gap-4.10.0
gap-4.10.0.tar.bz2
gap-4.9.0
gap-4.9.0.tar.bz2
gap-trial.ipynb
gap4r8
gap4r8p10_2018_01_15-13_02.tar.bz2
Change directory, configure and make
Change to pkg
to install packages
Assuming default GAP location: ../..
Attempting to build GAP packages.
Note that many GAP packages require extra programs to be installed,
and some are quite difficult to build. Please read the documentation for
packages which fail to build correctly, and only worry about packages
you require!
==== Checking 4ti2Interface-2017.10.04
No building required for 4ti2Interface-2017.10.04
==== Checking AutoDoc-2017.09.08
No building required for AutoDoc-2017.09.08
==== Checking Browse
Using config in ../../sysinfo.gap-default64
Created ./Makefile-default64 with link from ./Makefile
mkdir -p bin/x86_64-pc-linux-gnu-gcc-default64
../../bin/x86_64-pc-linux-gnu-gcc-default64/gac -p "" -d -o \
bin/x86_64-pc-linux-gnu-gcc-default64/ncurses.so src/ncurses.c -L " -lpanel -lncurses"
gcc -fPIC -Wall -O2 -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64/extern/gmp/include -o /tmp/gac64898/64898_ncurses.o -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64/../.. -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64 -DCONFIG_H -c src/ncurses.c
gcc -shared -g -o bin/x86_64-pc-linux-gnu-gcc-default64/ncurses.so /tmp/gac64898/64898_ncurses.o -lpanel -lncurses
rm -f /tmp/gac64898/64898_ncurses.o
==== Checking CAP-2017.09.25
No building required for CAP-2017.09.25
==== Checking Convex
No building required for Convex
==== Checking Example-3.5.1
Makefile successfully created.
mkdir -p bin/x86_64-pc-linux-gnu-gcc-default64
cc -o bin/x86_64-pc-linux-gnu-gcc-default64/hello src/hello.c
==== Checking ExamplesForHomalg-2017.09.02
No building required for ExamplesForHomalg-2017.09.02
==== Checking FPLSA-1.2.1
mkdir -p bin/x86_64-pc-linux-gnu-gcc-default64
gcc -o bin/x86_64-pc-linux-gnu-gcc-default64/fplsa4 -O2 -g -Wall src/fplsa4.c
src/fplsa4.c: In function ‘BinaryQuestion’:
src/fplsa4.c:6249:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%1s", c);
^
src/fplsa4.c: In function ‘GetInput’:
src/fplsa4.c:6532:5: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &LimitingWeight);
^
src/fplsa4.c: In function ‘LieSumAddition’:
src/fplsa4.c:1382:51: warning: ‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define LIE_TERM_R(a) (NodeLT[a].rptr)
^
src/fplsa4.c:3485:19: note: ‘last’ was declared here
uint sum = NIL, last, wa, wb;
^
src/fplsa4.c: In function ‘ScalarMonomialMultiplication’:
src/fplsa4.c:1421:46: warning: ‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define SCALAR_FACTOR_R(a) (NodeSF[a].rptr)
^
src/fplsa4.c:4009:20: note: ‘last’ was declared here
uint mc, wa, wb, last;
^
src/fplsa4.c: In function ‘ScalarTermMultiplication’:
src/fplsa4.c:1421:46: warning: ‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define SCALAR_FACTOR_R(a) (NodeSF[a].rptr)
^
src/fplsa4.c:4260:20: note: ‘last’ was declared here
uint ma, mb, mc, last, aa;
^
src/fplsa4.c: In function ‘PolyTermQuotient’:
src/fplsa4.c:1421:46: warning: ‘mae’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define SCALAR_FACTOR_R(a) (NodeSF[a].rptr)
^
src/fplsa4.c:4980:19: note: ‘mae’ was declared here
uint ma, maa, mae, maw;
^
src/fplsa4.c: In function ‘ScalarSumAddition’:
src/fplsa4.c:1415:41: warning: ‘last’ may be used uninitialized in this function [-Wmaybe-uninitialized]
#define SCALAR_TERM_R(a) (NodeST[a].rptr)
^
src/fplsa4.c:4082:19: note: ‘last’ was declared here
uint sum = NIL, last, wa, wb, ma, mb;
^
src/fplsa4.c: In function ‘ReadBooleanFromFile’:
src/fplsa4.c:7027:10: warning: ‘bool’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return bool;
^
src/fplsa4.c: In function ‘PutBlock’:
src/fplsa4.c:7310:28: warning: ‘i’ may be used uninitialized in this function [-Wmaybe-uninitialized]
int xp, yp = MaxLevel, i, prlvl;
^
src/fplsa4.c:7327:13: warning: ‘prlvl’ may be used uninitialized in this function [-Wmaybe-uninitialized]
PutCharacter((char)((prlvl == yp) ? OutLine[i] : ' '));
^
src/fplsa4.c: In function ‘PutStatistics’:
src/fplsa4.c:8172:21: warning: ‘sec_100’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if(sec_100 < 10 && sec_100 > 0)
^
src/fplsa4.c: In function ‘SubstituteRelationInRelationInteger’:
src/fplsa4.c:3060:5: warning: ‘rhs’ may be used uninitialized in this function [-Wmaybe-uninitialized]
LieSumKillInteger(rhs);
^
src/fplsa4.c: In function ‘SubstituteRelationInRelationParametric’:
src/fplsa4.c:3134:5: warning: ‘rhs’ may be used uninitialized in this function [-Wmaybe-uninitialized]
LieSumKillParametric(rhs);
^
==== Checking GAPDoc-1.6.1
No building required for GAPDoc-1.6.1
==== Checking Gauss-2017.12.07
mkdir -p bin/x86_64-pc-linux-gnu-gcc-default64
../../bin/x86_64-pc-linux-gnu-gcc-default64/gac -d -o bin/x86_64-pc-linux-gnu-gcc-default64/gauss.so src/gauss.c
gcc -fPIC -Wall -O2 -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64/extern/gmp/include -o /tmp/gac64943/64943_gauss.o -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64/../.. -I/home/user/gap4r8/bin/x86_64-pc-linux-gnu-gcc-default64 -DCONFIG_H -c src/gauss.c
gcc -shared -g -o bin/x86_64-pc-linux-gnu-gcc-default64/gauss.so /tmp/gac64943/64943_gauss.o
rm -f /tmp/gac64943/64943_gauss.o
==== Checking GaussForHomalg-2017.09.10
No building required for GaussForHomalg-2017.09.10
==== Checking GeneralizedMorphismsForCAP-2017.09.09
No building required for GeneralizedMorphismsForCAP-2017.09.09
==== Checking GradedModules-2017.09.10
No building required for GradedModules-2017.09.10
==== Checking GradedRingForHomalg-2017.09.02
No building required for GradedRingForHomalg-2017.09.02
==== Checking HAPcryst
No building required for HAPcryst
==== Checking Hap1.12
No building required for Hap1.12
==== Checking HomalgToCAS-2017.11.26
No building required for HomalgToCAS-2017.11.26
==== Checking IO_ForHomalg-2017.09.02
No building required for IO_ForHomalg-2017.09.02
==== Checking IntPic-0.2.3
No building required for IntPic-0.2.3
==== Checking LinearAlgebraForCAP-2017.09.09
No building required for LinearAlgebraForCAP-2017.09.09
==== Checking LocalizeRingForHomalg-2017.09.02
No building required for LocalizeRingForHomalg-2017.09.02
==== Checking MatricesForHomalg-2018.01.07
No building required for MatricesForHomalg-2018.01.07
==== Checking ModulePresentationsForCAP-2017.09.09
No building required for ModulePresentationsForCAP-2017.09.09
==== Checking Modules-2018.01.07
No building required for Modules-2018.01.07
==== Checking NormalizInterface-1.0.2
Found GAP in directory /home/user/gap4r8
GAParch = x86_64-pc-linux-gnu-gcc-default64
GAP was built with its own GMP
GAP's GMP includes C++ support
Fetching Normaliz source code
Cloning into 'Normaliz.git'...
remote: Counting objects: 1046, done.
4ti2Interface-2017.10.04 automgrp liealgdb
AutoDoc-2017.09.08 autpgrp liepring
Browse carat liering
CAP-2017.09.25 circle-1.6.1 linboxing
Convex cohomolo-1.6.4 loops
Example-3.5.1 congruence-1.2.1 lpres-0.4.2
ExamplesForHomalg-2017.09.02 corelg mapclass
FPLSA-1.2.1 crime matgrp
GAPDoc-1.6.1 crisp-1.4.4 modisom
Gauss-2017.12.07 cryst nilmat-1.3
GaussForHomalg-2017.09.10 crystcat nq-2.5.3
GeneralizedMorphismsForCAP-2017.09.09 ctbllib orb-4.7.6
GradedModules-2017.09.10 cubefree pargap
GradedRingForHomalg-2017.09.02 cvec-2.5.7 permut
HAPcryst design polenta-1.3.8
Hap1.12 digraphs-0.11.0 polycyclic-2.11
HomalgToCAS-2017.11.26 edim polymaking
IO_ForHomalg-2017.09.02 factint-1.6.0 profiling-1.3.0
IntPic-0.2.3 fga qaos-1.5
LinearAlgebraForCAP-2017.09.09 fining qpa-1.27
LocalizeRingForHomalg-2017.09.02 float-0.7.6 quagroup
MatricesForHomalg-2018.01.07 format radiroot
ModulePresentationsForCAP-2017.09.09 forms rcwa-4.6.1
Modules-2018.01.07 fr-2.4.3 rds
NormalizInterface-1.0.2 fwtree recog-1.2.5
NumericalSgps-1.1.5 gbnp recogbase-1.2.5
OpenMath-11.4.2 genss-1.6.5 repsn
PatternClass-2.4.1 grape resclasses-4.7.1
PolymakeInterface groupoids-1.54 semigroups-2.8.0
RingsForHomalg-2018.01.07 grpconst sglppow
SCO-2017.09.10 guarana simpcomp
SCSCP-2.2.3 guava-3.13 singular
SgpViz-0.999.1 happrime sla
SymbCompCC-1.2 hecke smallsemi-0.6.11
ToolsForHomalg-2017.11.05 help sonata
Toric-1.9.4 homalg-2017.10.26 sophus
ToricVarieties idrel-2.38 spinsym
XMod-2.64 io-4.5.1 tomlib
ace-5.2 irredsol-1.4 unipot-1.2
aclib itc unitlib-3.3.0
alnuth-3.1.0 json-1.2.0 utils-0.49
anupq-3.2 kan-1.27 wedderga-4.9.1
atlasrep kbmag-1.5.4 xgap-4.26
automata laguna-3.8.0 xmodalg-1.12
Test
CITATION appveyor.yml etc small
CONTRIBUTING.md bin extern src
INSTALL.md cnf gap.ini sysinfo.gap
LICENSE config.log gap.shi sysinfo.gap-default64
Makefile config.status grp sysinfo.in
Makefile-default64 configure lib trans
Makefile.in configure.in pkg tst
README.md doc prim
BuildPackages.sh gap.sh gaprxvt.ico xgap.sh
cygwin.ver gapicon.bmp usemem.bat
gap-default64.sh gapicon.ico x86_64-pc-linux-gnu-gcc-default64
┌───────┐ GAP 4.8.10, 15-Jan-2018, build of 2018-01-31 16:30:59 (UTC)
│ GAP │ https://www.gap-system.org
└───────┘ Architecture: x86_64-pc-linux-gnu-gcc-default64
Libs used: gmp, readline
Loading the library and packages ...
> Components: trans 1.0, prim 2.1, small* 1.0, id* 1.0
Packages: AClib 1.2, Alnuth 3.1.0, AtlasRep 1.5.1, AutPGrp 1.8,
Browse 1.8.7, CRISP 1.4.4, Cryst 4.1.13, CrystCat 1.1.6,
CTblLib 1.2.2, FactInt 1.6.0, FGA 1.3.1, GAPDoc 1.6.1, IO 4.5.1,
IRREDSOL 1.4, LAGUNA 3.8.0, Polenta 1.3.8, Polycyclic 2.11,
RadiRoot 2.7, ResClasses 4.7.1, Sophus 1.23, SpinSym 1.5,
TomLib 1.2.6, utils 0.49
Try '??help' for help. See also '?copyright', '?cite' and '?authors'
You should start GAP4 using `gap -A -x 80 -r -m 100m -o 1g'.
The more GAP4stones you get, the faster your system is.
The runtime of the following tests (in general) increases.
You should expect the test to take about one minute and show about
100000 GAP4stones on an Intel Core 2 Duo / 2.53 GHz machine.
The `next' time is an approximation of the running time for the next file.
Architecture: x86_64-pc-linux-gnu-gcc-default64
test file GAP4stones time(msec)
-------------------------------------------
testing: /home/user/gap4r8/tst/testinstall/flush.tst
flush.tst 0 75
testing: /home/user/gap4r8/tst/testinstall/read.tst
read.tst 0 71
testing: /home/user/gap4r8/tst/testinstall/infinity.tst
infinity.tst 0 51
testing: /home/user/gap4r8/tst/testinstall/switch.tst
switch.tst 0 54
testing: /home/user/gap4r8/tst/testinstall/boolean.tst
boolean.tst 0 55
testing: /home/user/gap4r8/tst/testinstall/log2.tst
log2.tst 0 57
testing: /home/user/gap4r8/tst/testinstall/varargs.tst
varargs.tst 0 57
testing: /home/user/gap4r8/tst/testinstall/atomic_basic.tst
atomic_basic.tst 0 59
testing: /home/user/gap4r8/tst/testinstall/zlattice.tst
zlattice.tst 0 62
testing: /home/user/gap4r8/tst/testinstall/longnumber.tst
longnumber.tst 0 63
testing: /home/user/gap4r8/tst/testinstall/unknown.tst
unknown.tst 0 56
testing: /home/user/gap4r8/tst/testinstall/dir.tst
dir.tst 0 56
testing: /home/user/gap4r8/tst/testinstall/gaussian.tst
gaussian.tst 0 59
testing: /home/user/gap4r8/tst/testinstall/recordname.tst
recordname.tst 0 58
testing: /home/user/gap4r8/tst/testinstall/intarith.tst
intarith.tst 0 56
testing: /home/user/gap4r8/tst/testinstall/break.tst
break.tst 0 54
testing: /home/user/gap4r8/tst/testinstall/trace.tst
trace.tst 0 56
testing: /home/user/gap4r8/tst/testinstall/ratfun.tst
ratfun.tst 0 53
testing: /home/user/gap4r8/tst/testinstall/bound.tst
bound.tst 0 60
testing: /home/user/gap4r8/tst/testinstall/listindex.tst
listindex.tst 0 62
testing: /home/user/gap4r8/tst/testinstall/grpfree.tst
grpfree.tst 0 62
testing: /home/user/gap4r8/tst/testinstall/cyclotom.tst
cyclotom.tst 0 65
testing: /home/user/gap4r8/tst/testinstall/listgen.tst
listgen.tst 0 66
testing: /home/user/gap4r8/tst/testinstall/mgmring.tst
mgmring.tst 0 94
testing: /home/user/gap4r8/tst/testinstall/eigen.tst
eigen.tst 3220 118 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/oprt.tst
oprt.tst 3944 109 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/zmodnz.tst
zmodnz.tst 3658 123 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/ffe.tst
ffe.tst 4311 109 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/ctblfuns.tst
ctblfuns.tst 3779 127 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/modfree.tst
modfree.tst 5315 111 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/strings.tst
strings.tst 5700 107 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/alghom.tst
alghom.tst 4583 144 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/set.tst
set.tst 5075 132 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/relation.tst
relation.tst 4117 170 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/combinat.tst
combinat.tst 6857 105 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/semicong.tst
semicong.tst 4629 162 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/semirel.tst
semirel.tst 5209 167 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/vspcmat.tst
vspcmat.tst 4915 177 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/vspchom.tst
vspchom.tst 4398 216 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/vspcmali.tst
vspcmali.tst 5818 165 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/semigrp.tst
semigrp.tst 5767 189 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/vspcrow.tst
vspcrow.tst 4921 317 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/perm.tst
perm.tst 6789 271 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/ctblmono.tst
ctblmono.tst 5055 453 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/grppc.tst
grppc.tst 6556 453 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/ffeconway.tst
ffeconway.tst 7369 422 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/onecohom.tst
onecohom.tst 6059 576 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/ctblsolv.tst
ctblsolv.tst 4745 767 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/rwspcgrp.tst
rwspcgrp.tst 9474 419 ( next ~0 sec )
testing: /home/user/gap4r8/tst/testinstall/algsc.tst
algsc.tst 7790 516 ( next ~1 sec )
testing: /home/user/gap4r8/tst/testinstall/morpheus.tst
morpheus.tst 6718 1030 ( next ~1 sec )
testing: /home/user/gap4r8/tst/testinstall/ctblmoli.tst
ctblmoli.tst 7921 991 ( next ~1 sec )
testing: /home/user/gap4r8/tst/testinstall/grpfp.tst
grpfp.tst 9028 1194 ( next ~1 sec )
testing: /home/user/gap4r8/tst/testinstall/algmat.tst
algmat.tst 8911 1295 ( next ~1 sec )
testing: /home/user/gap4r8/tst/testinstall/mapping.tst
mapping.tst 7601 1747 ( next ~4 sec )
testing: /home/user/gap4r8/tst/testinstall/grpmat.tst
grpmat.tst 12588 2716 ( next ~5 sec )
testing: /home/user/gap4r8/tst/testinstall/pperm.tst
pperm.tst 6879 6208 ( next ~8 sec )
testing: /home/user/gap4r8/tst/testinstall/xgap.tst
xgap.tst 8865 7071 ( next ~8 sec )
testing: /home/user/gap4r8/tst/testinstall/trans.tst
trans.tst 5640 12062 ( next ~18 sec )
testing: /home/user/gap4r8/tst/testinstall/grppcnrm.tst
grppcnrm.tst 9049 14832
-------------------------------------------
total 5905 55771
#I No errors detected while testing
What to do from here?
You can open a gap session as follows:
open a CoCalc terminal
type
gap4r8/bin.gap.sh
followed by ENTER
You can then follow the GAP tutorial:
in html: https://www.gap-system.org/Manuals/doc/tut/chap0.html
in pdf: https://www.gap-system.org/Manuals/doc/tut/manual.pdf
You could also install extra GAP packages. Usually this works by copying them in ~/.gap/pkg
(creating these folders if necessary), and sometimes you need to run configure and make there.
For example, see YAGS ("yet another graph system").