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.9.0 and its standard packages in a CoCalc project
Install GAP 4.9.0 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.9.0 following instructions on the GAP website
Note that GAP 4.9.0 is a beta release for GAP 4.9.
If you prefer to install a stable version, see Instructions to install GAP 4.8.10 and its standard packages in a CoCalc project.
To install GAP 4.9.0, 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)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 292M 100 292M 0 0 21.5M 0 0:00:13 0:00:13 --:--:-- 32.6M
Check the sha256 hash
Unpack the tarball
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
Using GAP root /home/user/gap-4.9.0
Building with 64-bit ABI
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!
Thu Feb 8 06:38:08 UTC 2018
==== Checking GAPDoc-1.6.1
No building required for GAPDoc-1.6.1
Thu Feb 8 06:38:08 UTC 2018
==== Checking recogbase-1.2.5
No building required for recogbase-1.2.5
Thu Feb 8 06:38:08 UTC 2018
==== Checking alnuth-3.1.0
No building required for alnuth-3.1.0
Thu Feb 8 06:38:08 UTC 2018
==== Checking sophus
No building required for sophus
Thu Feb 8 06:38:08 UTC 2018
==== Checking format
No building required for format
Thu Feb 8 06:38:08 UTC 2018
==== Checking 4ti2Interface-2017.10.04
No building required for 4ti2Interface-2017.10.04
Thu Feb 8 06:38:08 UTC 2018
==== Checking polycyclic-2.11
No building required for polycyclic-2.11
Thu Feb 8 06:38:08 UTC 2018
==== Checking profiling-1.3.0
Running './configure' '--with-gaproot=/home/user/gap-4.9.0'
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for CONFIGNAME... none
checking for GAP root directory... /home/user/gap-4.9.0
checking for GAP architecture... x86_64-pc-linux-gnu-default64
checking for GAP include files... /home/user/gap-4.9.0/src/compiled.h
checking for GAP config.h... /home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/config.h
checking for GAP's gmp.h location... not found, GAP was compiled without GMP
checking size of void **... 8
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/pkgconfig.h
config.status: executing depfiles commands
config.status: executing libtool commands
Running 'make'
CXX src/profiling_la-profiling.lo
CXXLD profiling.la
/bin/mkdir -p ./bin/x86_64-pc-linux-gnu-default64
cp .libs/profiling.so /home/user/gap-4.9.0/pkg/profiling-1.3.0/bin/x86_64-pc-linux-gnu-default64/profiling.so
SUCCESS!
Thu Feb 8 06:38:19 UTC 2018
==== Checking ModulePresentationsForCAP-2017.09.09
No building required for ModulePresentationsForCAP-2017.09.09
Thu Feb 8 06:38:19 UTC 2018
==== Checking atlasrep
Thu Feb 8 06:38:19 UTC 2018
==== Checking crime
No building required for crime
Thu Feb 8 06:38:19 UTC 2018
==== Checking GradedRingForHomalg-2017.09.02
No building required for GradedRingForHomalg-2017.09.02
Thu Feb 8 06:38:19 UTC 2018
==== Checking PolymakeInterface
Running './configure' '/home/user/gap-4.9.0'
polymake has been built without callable library,
probably because of missing shared library libperl.
polymake has been built without callable library,
probably because of missing shared library libperl.
polymake has been built without callable library,
probably because of missing shared library libperl.
polymake has been built without callable library,
probably because of missing shared library libperl.
Running 'make'
mkdir -p bin/x86_64-pc-linux-gnu-default64
cp /home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/config.h bin/x86_64-pc-linux-gnu-default64/
g++ -fPIC -Wall -O0 -g -pipe -m64 -o bin/x86_64-pc-linux-gnu-default64/polymake_fktn.o -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/extern/gmp/include -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/../.. -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64 -DCONFIG_H -c src/polymake_fktn.cpp
cp /home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/config.h bin/x86_64-pc-linux-gnu-default64/
g++ -fPIC -Wall -O0 -g -pipe -m64 -o bin/x86_64-pc-linux-gnu-default64/polymake_main.o -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/extern/gmp/include -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64/../.. -I/home/user/gap-4.9.0/bin/x86_64-pc-linux-gnu-default64 -DCONFIG_H -c src/polymake_main.cpp
4ti2Interface-2017.10.04 automgrp linboxing
AutoDoc-2017.09.08 autpgrp log
Browse carat loops
CAP-2017.09.25 circle-1.6.1 lpres-0.4.2
Convex cohomolo-1.6.6 mapclass
Example-4.0.0 congruence-1.2.1 matgrp
ExamplesForHomalg-2017.09.02 corelg modisom
FPLSA-1.2.1 crime nilmat-1.3
FactInt-1.6.1 crisp-1.4.4 nq-2.5.3
GAPDoc-1.6.1 crypting-0.7 orb-4.8.0
Gauss-2017.12.07 cryst pargap
GaussForHomalg-2017.09.10 crystcat permut
GeneralizedMorphismsForCAP-2017.09.09 ctbllib polenta-1.3.8
GradedModules-2017.09.10 cubefree polycyclic-2.11
GradedRingForHomalg-2017.09.02 cvec-2.5.7 polymaking
HAPcryst design primgrp-3.3.0
Hap1.12 digraphs-0.12.0 profiling-1.3.0
HomalgToCAS-2017.11.26 edim qaos-1.5
IO_ForHomalg-2017.09.02 fga qpa-1.27
IntPic-0.2.3 fining quagroup
LinearAlgebraForCAP-2017.09.09 float-0.9.0 radiroot
LocalizeRingForHomalg-2017.09.02 format rcwa-4.6.1
MatricesForHomalg-2018.01.17 forms rds
ModulePresentationsForCAP-2017.09.09 fr-2.4.3 recog-1.2.5
Modules-2018.01.07 fwtree recogbase-1.2.5
NormalizInterface-1.0.2 gbnp repsn
NumericalSgps-1.1.5 genss-1.6.5 resclasses-4.7.1
OpenMath-11.4.2 grape semigroups-3.0.12
PatternClass-2.4.1 groupoids-1.54 sglppow
PolymakeInterface grpconst simpcomp
RingsForHomalg-2018.01.07 guarana singular
SCO-2017.09.10 guava-3.13 sla
SCSCP-2.2.3 happrime smallgrp-1.2
SgpViz-0.999.1 hecke smallsemi-0.6.11
SymbCompCC-1.2 help sonata
ToolsForHomalg-2018.01.25 homalg-2017.10.26 sophus
Toric-1.9.4 idrel-2.38 spinsym
ToricVarieties io-4.5.1 tomlib
XMod-2.64 irredsol-1.4 transgrp
XModAlg-1.16 itc unipot-1.2
ZeroMQInterface-0.9 json-1.2.0 unitlib-3.3.0
ace-5.2 kan-1.27 utils-0.53
aclib kbmag-1.5.4 uuid-0.4
alnuth-3.1.0 laguna-3.8.0 wedderga-4.9.1
anupq-3.2 liealgdb xgap-4.26
atlasrep liepring
automata liering
Test
CITATION README.hpcgap.md configure.ac hpcgap
CONTRIBUTING.md README.md doc lib
GNUmakefile aclocal.m4 etc libtool
GNUmakefile.in autogen.sh extern obj
INSTALL.md bin gac pkg
LICENSE cnf gap src
Makefile config.log gap.ini sysinfo.gap
Makefile.rules config.status gen sysinfo.gap-default64
README.buildsys.md configure grp tst
BuildPackages.sh gap.sh x86_64-pc-linux-gnu-default64 xgap.sh
┌───────┐ GAP 4.9.0 of 01-Feb-2018
│ GAP │ https://www.gap-system.org
└───────┘ Architecture: x86_64-pc-linux-gnu-default64
Configuration: gmp 6.1.0, readline
Loading the library and packages ...
> 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.1, 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,
PrimGrp 3.3.0, RadiRoot 2.7, ResClasses 4.7.1, smallgrp 1.2,
Sophus 1.23, SpinSym 1.5, TomLib 1.2.6, TransGrp 2.0.2,
utils 0.53
Try '??help' for help. See also '?copyright', '?cite' and '?authors'
You should start GAP4 using `gap -A -x 80 -r -m 100m -o 1g -K 2g'.
Architecture: x86_64-pc-linux-gnu-default64
testing: /home/user/gap-4.9.0/tst/testinstall/DirectProductElement.tst
86 ms (81 ms GC) and 151KB allocated for DirectProductElement.tst
testing: /home/user/gap-4.9.0/tst/testinstall/ElmsBlist.tst
89 ms (70 ms GC) and 4.32MB allocated for ElmsBlist.tst
testing: /home/user/gap-4.9.0/tst/testinstall/alghom.tst
141 ms (69 ms GC) and 3.14MB allocated for alghom.tst
testing: /home/user/gap-4.9.0/tst/testinstall/algmat.tst
1402 ms (189 ms GC) and 227MB allocated for algmat.tst
testing: /home/user/gap-4.9.0/tst/testinstall/algrep.tst
1850 ms (170 ms GC) and 147MB allocated for algrep.tst
testing: /home/user/gap-4.9.0/tst/testinstall/algsc.tst
451 ms (68 ms GC) and 30.5MB allocated for algsc.tst
testing: /home/user/gap-4.9.0/tst/testinstall/atomic_basic.tst
73 ms (71 ms GC) and 192KB allocated for atomic_basic.tst
testing: /home/user/gap-4.9.0/tst/testinstall/atomic_list.tst
What to do from here?
You can open a gap session as follows:
open a CoCalc terminal
type
GAP-4.9.0/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").