[GAP Forum] Installing gap package

Alexander Konovalov alexander.konovalov at st-andrews.ac.uk
Mon Aug 29 13:53:51 BST 2016


Dear Sarah, dear GAP Forum,

While Dima's reply tells how to install an additional GAP package to 
GAP installed as an Ubuntu package, I would suggest to use a different
approach, and here is why.

1) 'apt install gap' offers an alternative third-party distribution
which has a different structure and at the moment does not provide
the latest GAP release (it gives last years' version 4.7.9 of 
29-Nov-2015 while the most recent GAP is 4.8.4, 04-Jun-2016).

2) Now the version of AtlasRep 1.5.1 was released on 30/03/2016 and
was first time included in the distribution of GAP 4.8.4 released 
on June 4th this year. 

Hence, there is no guarantee that this combination was carefully 
tested and that it works fine. Instead, I would recommend to 
download GAP 4.8.4 from this page

	http://www.gap-system.org/Releases/

and build GAP and as many packages as you can. You don't need to
have admin rights on that machine since you can install it in 
your home directory. For example, these commands go to your home
directory, download GAP, unpack the archive, delete the archive,
rename the directory to indicate the minor release of GAP, then
build the GAP kernel and then build some packages:

cd ~
wget http://www.gap-system.org/pub/gap/gap48/tar.bz2/gap4r8p4_2016_06_04-12_41.tar.bz2
gzip -dc gap4r8p4_2016_06_04-12_41.tar.bz2 | tar xpv
rm gap4r8p4_2016_06_04-12_41.tar.bz2
mv gap4r8 gap4r8p4
cd gap4r8p4
./configure
make
cd pkg
../bin/BuildPackages.sh

After that you will be able to start GAP with

~/gap4r8p4/bin/gap.sh

Remember that 'gap' will still call the version installed as an Ubuntu package, so be careful.
If you have admin rights, you can remove GAP Ubuntu package, and you can also
copy ~/gap4r8p4/bin/gap.sh to /usr/local/bin/gap and be able to start it just by calling 'gap'

Hope this helps
Alexander


P.S. One could of course argue that GAP packages provide PackageInfo.g file which documents
dependencies, and that AtlasRep states "GAP version: >= 4.5". Even if this is the case
for AtlasRep, in general this is not reliable. The following code summarises dependencies:

l:=List(RecNames(GAPInfo.PackagesInfo),r->GAPInfo.PackagesInfo.(r)[1].Dependencies.GAP);;
for s in l do RemoveCharacters(s,">= ");od;
Collected(l);

and for packages from GAP 4.8.4 it shows the following:

[ [ "4.3", 5 ], [ "4.3fix4", 1 ], [ "4.4", 29 ], [ "4.4.10", 1 ], 
  [ "4.4.6", 1 ], [ "4.4.9", 1 ], [ "4.5", 28 ], [ "4.5.0", 1 ], 
  [ "4.5.3", 4 ], [ "4.5.5", 1 ], [ "4.5.6", 1 ], [ "4.6", 7 ], 
  [ "4.6.3", 1 ], [ "4.7", 33 ], [ "4.7.4", 2 ], [ "4.7.6", 2 ], 
  [ "4.7.8", 1 ], [ "4.8", 3 ], [ "4.8.0", 1 ], [ "4.8.1", 1 ], 
  [ "4.8.2", 4 ], [ "4.8.3", 3 ] ]

However, if you will look at release years, then you will see that
actually many packages were released in last two years:

gap> Collected(List(RecNames(GAPInfo.PackagesInfo),r->
>      SplitString(GAPInfo.PackagesInfo.(r)[1].Date,"/")[3]));
[ [ "2003", 1 ], [ "2004", 2 ], [ "2006", 1 ], 
  [ "2007", 1 ], [ "2008", 1 ], [ "2009", 1 ], 
  [ "2010", 1 ], [ "2011", 9 ], [ "2012", 11 ], 
  [ "2013", 14 ], [ "2014", 9 ], [ "2015", 31 ], 
  [ "2016", 49 ] ]

and I seriously doubt that someone still tests their packages
with each previous major release of GAP. May I use this rant
to remind to package authors to update dependencies when you're
preparing the new version of the package - for example, to 
the major release of GAP under which you're developing and 
testing the package.


On 27 Aug 2016, at 16:25, Dima Pasechnik <dmitrii.pasechnik at cs.ox.ac.uk> wrote:
> 
> Dear Sara,
> On Sat, Aug 27, 2016 at 07:10:49PM +0430, Sara Dikson wrote:
>> I would like to install "atlasrep" package in ubuntu but I couldn't!
>> Is it possible help me to install it step by step?
> 
> I take it as you use GAP installed as a Ubuntu package.
> 
> Assuming you have admin rights on your machine, you simpy can install
> the package into /usr/share/gap/pkg/
> That is, you cd to this directory and untar the package you downloaded
> from
> http://www.gap-system.org/pub/gap/gap4/tar.gz/packages/atlasrep1r5p1.tar.gz
> 
> In more detail, assuming the tar file in in /tmp:
> $ cd /usr/share/gap/pkg/
> $ sudo tar xf /tmp/atlasrep1r5p1.tar.gz
> 
> Finally, you will need to make AtlasRep data cache directories writable
> to all the users (this is not very secure step - on systems
> with many people using it this does not look like a good idea):
> 
> $ sudo chmod 777 /usr/share/gap/pkg/atlasrep/data*
> 
> There are ways to make the latter more secure, described in the package
> manual, if you need it.
> 
> Hope this helps,
> Dima





More information about the Forum mailing list