-
Notifications
You must be signed in to change notification settings - Fork 36
Quickly getting a working copy of Semigroups
The following script should clone and fully compile GAP, the Semigroups package and all of its dependencies. It's verified working on Debian Testing, as of 2016-05-29. It will clone the unstable-3.0
branch (change unstable-3.0
to your preferred branch if you want a different one), which contains an interface to the C++ library SemigroupPlusPlus.
Some software is required on the target computer for everything to work. This includes:
git,
autoconf,
curl,
GMP,
a C/C++ compiler,
graphviz,
LaTeX,
libtool,
and make.
If you're using a Linux distribution with APT (e.g. Debian/Ubuntu/Mint) then the following command should automatically install all the software you need (texlive-full
might take a while):
sudo apt-get install autoconf build-essential curl git graphviz libtool libgmp-dev texlive-full
Once you have all the right software installed, run this script or copy and paste the following lines into your terminal:
SEMIGROUPSPLUSPLUS_BR=master
DIGRAPHS_BR=stable-0.5
IO=io-4.4.6
GAPDOC=GAPDoc-1.5.1
ORB=orb-4.7.6
GENSS=genss-1.6.4
GRAPE=grape4r7
PKG_FLAGS="CFLAGS=-O3 CXXFLAGS=-O3"
git clone https://github.com/gap-packages/Semigroups.git semigroups
cd semigroups
git checkout unstable-3.0
if [ -d src ]; then cd src; git clone -b $SEMIGROUPSPLUSPLUS_BR https://github.com/james-d-mitchell/semigroupsplusplus.git; cd ..; fi
cd ..
# Download and compile GAP
git clone -b stable-4.8 https://github.com/gap-system/gap.git
cd gap
git remote add james https://github.com/james-d-mitchell/gap.git
git fetch james
git checkout -t james/fix-semi-iso
./configure --with-gmp=system
make
mkdir pkg
cd pkg
curl -O http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/$GAPDOC.tar.gz
tar xzf $GAPDOC.tar.gz
rm $GAPDOC.tar.gz
curl -O http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/$IO.tar.gz
tar xzf $IO.tar.gz
rm $IO.tar.gz
cd $IO
./configure $PKG_FLAGS
make
cd ..
curl -O http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/$ORB.tar.gz
tar xzf $ORB.tar.gz
rm $ORB.tar.gz
cd $ORB
./configure $PKG_FLAGS
make
cd ..
curl -O http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/$GENSS.tar.gz
tar xzf $GENSS.tar.gz
rm $GENSS.tar.gz
curl -O http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/$GRAPE.tar.gz
tar xzf $GRAPE.tar.gz
rm $GRAPE.tar.gz
cd grape
./configure $PKG_FLAGS
make
cd ..
git clone https://github.com/gap-packages/profiling.git
cd profiling
./autogen.sh
./configure $PKG_FLAGS
make
cd ..
git clone https://github.com/gap-packages/Digraphs.git digraphs
cd digraphs
git checkout --track origin/$DIGRAPHS_BR
./autogen.sh
./configure $PKG_FLAGS
make
cd ../../..
mv semigroups gap/pkg
cd gap/pkg/semigroups
if [ -d src ]; then ./autogen.sh; ./configure; make; fi
cd ../..
make manuals