The current version of PAKCS runs on Unix-based platforms and has been developed and tested under Linux (Debian/Ubuntu). However, it should also run on similar platforms like Mac OS X or SunOS. If you want to install and run the complete system on your computer, you need the following software:
pakcshomeis the name of this directory.
sicstus(for SICStus-Prolog) or
swipl(for SWI-Prolog) in your path, execute "
make" which installs PAKCS. The environment variables
SWIPROLOGare automatically set to appropriate values. These values are also stored in the home directory in file
.pakcsinitrcso that they are available for future installations of new versions of PAKCS.
pakcshome/pakcsinitrc" the definition of the variables
SWIPROLOGaccording to your local installation, or pass these values to
make, e.g., by
make SWIPROLOG=/usr/bin/swiplIf both variables are undefined, the PAKCS compiler system cannot be installed.
ghc" must be in your path) to compile the front end of PAKCS.
make" (if you have already an older installation of PAKCS, do "
make clean" before).
pakcshome/bin" to your path, e.g., by the command
export PATH=pakcshome/bin:$PATHin the
bash. If you do no want to have the specific version number of PAKCS included in your path, you can set a symbolic link like
ln -s pakcs-<version> pakcsand put the directory
pakcs/bininto your path. Now you can start the PAKCS compiler system via the command "
make libdoc" to generate a local version of the documentation of all system libraries by the CurryDoc tool into the directory "
pakcshome/lib/CDOC". However, this is only necessary if you want to work offline since you can also access the documentation online at
.pakcsrc" (which will be automatically done when you start PAKCS for the first time) into you home directory and modify the settings.
rlwrap" installed on your local machine. PAKCS uses "
rlwrap" if called on a terminal without the parameter "
If you want to install the system at a location different from
the build location, you have to specify the intended installation
location at built-time with the parameter
Furthermore, the final installation location must not exist
during built time. For instance, to built PAKCS at some local directory
and move it later to
/opt/pakcs, you can do it by
make PAKCSINSTALLDIR=/opt/pakcs ... mv /path/to/pakcs /opt/pakcs
The distribution of PAKCS contains various additional packages and libraries. Some require additional software packages that are described below.
pakcshome/lib/GUI.curry), you need also a Tcl/Tk implementation (including the windowing shell
wish) which can be downloaded here) or installed in a Ubuntu distribution by
sudo apt-get install tk tclIn this case, the windowing shell
wishmust be in your path (or you can also modify the definition of the function
openWishin the library
Database.*) or the web framework Spicey, the database SQLite must be installed together with the command line interface
sqlite3. This can be done in a Ubuntu distribution by
sudo apt-get install sqlite3
The distribution of PAKCS is configured with a maximal tuple arity of 15, i.e., Curry programs containing larger tuple sizes cannot be compiled. If you want to increase this size (usually, it is preferable to change your program), you have to change (in a source distribution of PAKCS) two system files and install your system as follows:
maxTupleArityin the files
pakcshome/curry2prolog/compiler.placcording to your required maximal arity.
If you install PAKCS from the binary Linux distribution,
the pre-compiled executable of the front-end might not find
libgmp.so.3. This problem can be fixed
by the following commands (executed as root):
cd /usr/lib ln -s libgmp.so.3.4.1 libgmp.so.3
If you use SWI-Prolog, you should install the packages
as well as
from the Ubuntu distribution.
The latter package is necessary if sockets, ports, and
other system-oriented features should be used in Curry.
(Thanks to Sergio Antoy and Steffen Mazanek for these hints.)
Contact: Michael Hanus