    

             libkant-4.1 and autokash-3.1 package
             ====================================


Introduction: 
=============
The release of KANT 4 SCSCP package is available now. It allows the 
system to work as SCSCP server and client.  
This release, a binary distribution, contains the core functionality 
of the KANT system: libkant, which is now at the development version 4.1. 
This core functionality is, at this time of writing, only available for a 
native 64-bit linux build x86_64 hardware. 
Since it is due to licence issues, i.e not freely available, we built it 
statically in the autokash package. 
Also, autokash is, at this time, at the developement version 3.1 and is only 
available for a native 64-bit linux/x86_64 build.

Prerequisites for autokash:
==========================

- libkash       (provided with autokash)
- libxml2       (provided with autokash)
- libiconv
- libcord       (provided with autokash)
- libgc         (provided with autokash)
- libkant       (provided with autokash)
- libgmp        (gmp, provided with autokash)
- libmpfr       (mpfr, provided with autokash)
- libz          (gzip support lib)
- libgcc_s
- libpopt       (popt cmd line parser)
- libltdl       (provided with autokash, visit the libltdl/ directory)
- libpthread    (standard, but must not be a linuxthreads husk)
- libm          (standard, no issues known)
- libdl         (standard, no issues known)
- libc          (standard, no issues known)


Building autokash:
------------------
===============================================================================
                                         
 shell> tar xjf autokash-3.1.10.tar.bz2     
 shell> cd autokash-3.1                  
                                         
===============================================================================

The main binary is kashd, the KANT/KASH daemon. It is under the bin 
directory. You can display the help by typing:

===============================================================================
shell> bin/kashd --help

Usage: kashd [options] [module...]

Input Options
  -l, --listen=spec       listen on input according to SPEC,  SPEC is a
                          socat-like string, supported specs are:
                          tcp4:<bind-address>:<port>,
                          tcp6:<bind-address>:<port>, unix:<socket-file>.
                          (default: "tcp6:[::]:26133")

Language Options
  -z, --no-namespaces     dispatch the result objects without namespaces

Help options:
  -?, --help              Show this help message
  --usage                 Display brief usage message
===============================================================================

Running kashd:
--------------
The bare minimum start up that yet allows for SCSCP communication is:

===============================================================================

shell> bin/kashd  lib/kant/openmath.la &

===============================================================================

From then now, by default, incoming connections on any configured 
network device will be accepted. Since the support of openmath is 
implemented in autokash package, this previous command load also the 
openmath module. 
Note that the implemented CDs polynomial2, polynomial3 and polynomial4 are not 
loaded by default.
For example to use the implemented openmath CDs loaded by default and also the 
polynomial4, type the following:

===============================================================================

shell> bin/kashd  lib/kant/openmath.la lib/kant/omcd-polynomial4 &

===============================================================================

Examples:
---------
The connection to the running KANT SCSCP sever can be done from any 
SCSCP client like the kant client shell kapy (see the README in the 
pysh/ directory), GAP or WUPSI or simply using netcat (or telnet) as 
the following:

===============================================================================

shell> user@hostname:~> netcat localhost 26133
<?scscp service_name="libkant" service_version="4.1" 
service_id="140398289176304" scscp_versions="1.3" ?>

<?scscp version="1.3" ?>

<?scscp version="1.3" ?>
<?scscp info text="negotiation succeeded, go on then ..." ?>

<?scscp start ?>
<?xml version="1.0" encoding="utf-8"?>
<OM:OMOBJ
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.openmath.org/OpenMath \
  http://www.openmath.org/standard/relaxng/openmath1.xsd"
  xmlns:OM="http://www.openmath.org/OpenMath">
  <OM:OMATTR>
    <OM:OMATP>
      <OM:OMS cd="scscp1" name="call_id"/>
      <OM:OMSTR>symcomp.org:26133:18668:s2sYf1pg</OM:OMSTR>
      <OM:OMS cd="scscp1" name="option_return_object"/>
      <OM:OMSTR></OM:OMSTR>
    </OM:OMATP>
    <OM:OMA>
      <OM:OMS cd="scscp1" name="procedure_call"/>
      <OM:OMA>
        <OM:OMS name="get_service_description" cd="scscp2"/>
      </OM:OMA>
    </OM:OMA>
  </OM:OMATTR>
</OM:OMOBJ>
<?scscp end ?>

<!-- get the answer -->

<?scscp start ?>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<OM:OMOBJ xmlns:OM="http://www.openmath.org/OpenMath" xmlns:xsi=\
  "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=\
  "http://www.openmath.org/OpenMath http://www.openmath.org/\
  standard/om20-2004-06-30/openmath2.xsd" version="2.0">
  <OM:OMATTR>
    <OM:OMATP>
      <OM:OMS cd="scscp1" name="call_id"/>
      <OM:OMSTR>1324765</OM:OMSTR>
    </OM:OMATP>
    <OM:OMA>
      <OM:OMS cd="scscp1" name="procedure_completed"/>
      <OM:OMA>
        <OM:OMS cd="scscp2" name="service_description"/>
        <OM:OMSTR>kant</OM:OMSTR>
        <OM:OMSTR>Development version 4.1</OM:OMSTR>
        <OM:OMSTR>kant is a sophisticated CAS for computations in algebraic \
          number fields, algebraic function fields and local fields. It is  \
          developed at Technische Universitat Berlin, Germany. See: \
          http://www.math.tu-berlin.de/~kant
        </OM:OMSTR>
      </OM:OMA>
    </OM:OMA>
  </OM:OMATTR>
</OM:OMOBJ>
<?scscp end ?>

<!-- another request -->

<?scscp start ?>
<?xml version="1.0" encoding="utf-8"?>
<OM:OMOBJ
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.openmath.org/OpenMath \
  http://www.openmath.org/standard/relaxng/openmath1.xsd"
  xmlns:OM="http://www.openmath.org/OpenMath">
  <OM:OMATTR>
    <OM:OMATP>
      <OM:OMS cd="scscp1" name="call_id"/>
      <OM:OMSTR>symcomp.org:26133:16185SlLb</OM:OMSTR>
      <OM:OMS cd="scscp1" name="option_return_object"/>
      <OM:OMSTR></OM:OMSTR>
    </OM:OMATP>
    <OM:OMA>
      <OM:OMS cd="scscp1" name="procedure_call"/>
      <OM:OMA>
        <OM:OMS cd="arith1" name="plus"/>
        <OM:OMI>564</OM:OMI>
        <OM:OMI>76</OM:OMI>
      </OM:OMA>
    </OM:OMA>
  </OM:OMATTR>
</OM:OMOBJ>
<?scscp end ?>

<!-- get the answer below -->

<?scscp start ?>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<OM:OMOBJ xmlns:OM="http://www.openmath.org/OpenMath" xmlns:xsi=\
  "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=\
  "http://www.openmath.org/OpenMath http://www.openmath.org/\
  standard/om20-2004-06-30/openmath2.xsd" version="2.0">
  <OM:OMATTR>
    <OM:OMATP>
      <OM:OMS cd="scscp1" name="call_id"/>
      <OM:OMSTR>symcomp.org:26133:16185SlLb</OM:OMSTR>
    </OM:OMATP>
    <OM:OMA>
      <OM:OMS cd="scscp1" name="procedure_completed"/>
      <OM:OMI>640</OM:OMI>
    </OM:OMA>
  </OM:OMATTR>
</OM:OMOBJ>
<?scscp end ?>

<!-- another one -->

<?scscp start ?>
<?xml version="1.0"?>
<OM:OMOBJ
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.openmath.org/OpenMath \
  http://www.openmath.org/standard/relaxng/openmath1.xsd"
  xmlns:OM="http://www.openmath.org/OpenMath">
  <OM:OMA>
    <OM:OMS name="plus" cd="arith1"/>
    <OM:OMI>1</OM:OMI>
    <OM:OMI>1</OM:OMI>
  </OM:OMA>
</OM:OMOBJ>
<?scscp end ?>

<!-- get the answer below -->

<?scscp ack ?>
<?scscp start ?>
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<OM:OMOBJ xmlns:OM="http://www.openmath.org/OpenMath" xmlns:\
xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation \
="http://www.openmath.org/OpenMath http://www.openmath.org/standard/ \
om20-2004-06-30/openmath2.xsd" version="2.0"><OM:OMI>2</OM:OMI></OM:OMOBJ>
<?scscp end ?

<!-- another request -->

<?scscp start ?>
<?xml version="1.0" encoding="utf-8"?>
<OM:OMOBJ
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.openmath.org/OpenMath \
  http://www.openmath.org/standard/relaxng/openmath1.xsd"
  xmlns:OM="http://www.openmath.org/OpenMath">
  <OM:OMATTR>
    <OM:OMATP>
      <OM:OMS cd="scscp1" name="call_id"/>
      <OM:OMSTR>1324765</OM:OMSTR>
      <OM:OMS cd="scscp1" name="option_return_object"/>
      <OM:OMSTR></OM:OMSTR>
    </OM:OMATP>
    <OM:OMA>
      <OM:OMS cd="scscp1" name="procedure_call"/>
      <OM:OMA>
        <OM:OMS name="get_allowed_heads" cd="scscp2"/>
      </OM:OMA>
    </OM:OMA>
  </OM:OMATTR>
</OM:OMOBJ>
<?scscp end ?>
===============================================================================

Have a lot of fun ...