-
Notifications
You must be signed in to change notification settings - Fork 161
Building HPC GAP
ward
is a tool which parses and transforms the GAP C source code for HPC-GAP.
Due to changes in the kernel gap-system/ward
does not work with the master branch anymore.
Therefore it was removed from the build process. There is work in progress to make do without ward
,
see HPCGAP-noward.
Note that without a working ward
HPC-GAP can not detect when protected (e.g. read-only or shared) objects are illegally read from or even written to.
Clone the repository gap-system/gap
into a folder called hpcgap
:
git clone https://github.com/gap-system/gap hpcgap
cd hpcgap
Inside the cloned folder do:
./autogen.sh
./configure --enable-hpcgap
make
You can do make -j
if you want to compile HPC-GAP in parallel. After you are done with this, you can use bin/gap.sh
as usual to start HPC-GAP. We strongly recommend to start HPC-GAP with the -r
option since your local customisation may not yet be compatible with HPC-GAP.
To try out the work in progress, first install unward from https://github.com/rbehrends/unward; we assume that it is stored in a directory called $UNWARD. To build it, do:
cd $UNWARD
./configure
make
After that, go to the GAP directory and build that:
./autogen.sh
./configure --enable-hpcgap
$UNWARD/bin/unward --inplace src
make
Some of the GAP packages may run well in the main execution thread, but can not be used from other threads. For now, only the IO and orb packages are known to be somewhat compatible with HPC-GAP.
For information on building the documentation refer to the wiki page Building main GAP manuals.
If any of the above instructions do not work or are in any way unclear, please contact ssiccha via email.