<Chapter Label="Intro">
<Heading>Installation</Heading>    

<Section Label="Install">
<Heading>Installation and system requirements</Heading>

Both &SCSCP; client and server for &GAP; work in Linux, OS X and Windows.
<P/>

To use the &SCSCP; package it is necessary to install recent versions of
&GAP;4 packages &IO; <Cite Key="IO"/>, &GAPDoc; <Cite Key="GAPDoc"/> 
and &OpenMath; <Cite Key="openmath"/>.
<P/> 

The &SCSCP; package is distributed in standard formats (<File>tar.gz</File>, 
<File>tar.bz2</File>) and can be obtained from 
<URL>https://gap-packages.github.io/scscp/</URL> or from the &GAP; 
web site (the latter also offers <File>win.zip</File>-archives). To install
&SCSCP; package, put its <File>tar.gz</File>-archive into the <File>pkg</File>
subdirectory of your &GAP;4 installation and enter the command
<C>tar -xzf scscp-X.X.X.tar.gz</C>, then the subdirectory <File>scscp</File>
(containing subdirectories <File>doc</File>, <File>lib</File> etc.) will be created in
the <File>pkg</File> subdirectory. Installation using other archive formats is performed 
in a similar way.
<P/>

When there are no access rights to the root directory of the main &GAP; 
installation, it is also possible to install the package 
<E>outside the &GAP; main directory</E> by unpacking it inside a 
directory <File>MYGAPDIR/pkg</File>. Then to load the package
&GAP; should be started with <C>-l ";MYGAPDIR"</C> option.

</Section>

<Section Label="Config">
<Heading>Configuration files</Heading>

There are four files in the package which may need to be modified
to setup and customise the package.

The first three files are related with the server's functionality:

<List>

<Item>
<File>scscp/config.g</File> specifies:
<List>
<Item>
default <C>InfoLevel</C> for the <Ref InfoClass="InfoSCSCP" /> class;
</Item>
<Item>
default &SCSCP; server name and port to be used by <Ref Func="RunSCSCPserver" /> if &GAP;
is started with the <File>scscp/example/myserver.g</File> file;
</Item>
<Item>
whether the server accepts calls to procedures which are standard &OpenMath; symbols, 
or only procedures installed in the transient content dictionary (see <Ref Func="InstallSCSCPprocedure" />);
</Item>
<Item>
service description to be returned to the client by <Ref Func="GetServiceDescription" />.
</Item>
</List>
</Item>

<Item>
<File>scscp/gapd.sh</File> is the script to start the &GAP; &SCSCP; server
as a daemon. To use it, adjust the local call of &GAP; and, if necessary,
call options (for example, memory usage, startup from the workspace etc.)
and the location of the root directory of the &SCSCP; package in section 1
of this script.
</Item>

<Item>
<File>scscp/example/myserver.g</File> is an example of the server configuration 
file which loads all necessary packages, reads all needed code, installs
all procedures which will be exposed to the client and finally starts the
&SCSCP; server (see Chapter <Ref Chap="Server" />).
</Item>

</List>

The fourth file is related with the client's functionality for parallel computations:

<List>
<Item>
The file <File>scscp/configpar.g</File> assigns the global variable 
<C>SCSCPservers</C> which specifies a list of hosts and ports to 
search for &SCSCP; services (which may be not only represented by 
&GAP; services, but also by another &SCSCP;-compliant systems). 
It will be used to run parallel computations with the &SCSCP; 
package (see Chapter <Ref Chap="Parallel" />). 
</Item>
</List>

See comments in these configuration files for further details and examples.

</Section>

</Chapter>