This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/pyswip/INSTALL

74 lines
2.7 KiB
Plaintext
Raw Normal View History

2010-06-01 00:33:32 +01:00
PySWIP INSTALL
==============
PySWIP requires SWI-Prolog as a shared library since it uses ctypes to access SWI-Prolog/C functions. The shared library is present in Win32 installer, but missing by default from the builds made directly from the source.
Installing on Linux
-------------------
These instructions are tested on a Linux system, but should also work for POSIX systems. Also, you may want to install development packages for readline and libgmp (not required for basics).
You need to do the following to install a shared library enabled version of SWI-Prolog. We use version 5.6.34 of SWI-Prolog but any other recent version should work fine. Please make the necessary modifications for your environment.
1) Get the source from: http://www.swi-prolog.org/download.html::
$ wget http://gollem.science.uva.nl/cgi-bin/nph-download/SWI-Prolog/pl-5.6.34.tar.gz
2) Extract the archive and cd into it::
$ tar xzvf pl-5.6.34.tar.gz
$ cd pl-5.6.34
3) Configure the source with shared library enabled::
$ ./configure --prefix=/usr --enable-shared
4) Compile the source::
$ make
5) Install the source::
$ sudo make install
6) clp library is useful for constraint handling problems, so let's install that too::
$ cd cd packages/clpqr
$ ./configure --prefix=/usr --enable-shared
$ make && make install
7) Create a soft link to ``libpol.so``::
$ sudo ln -s /usr/lib/pl-5.6.34/lib/i686-linux/libpl.so.5.6.34 /usr/lib/libpl.so
8) Next, get and install ctypes from: http://starship.python.net/crew/theller/ctypes . Note that you don't need to install it if you are using Python 2.5.
9) Unpack PySwIP package and install it with, ``python setup.py install``.
10) After you install it, you can test it with the following at your Python shell::
>>> from pyswip import Prolog
>>> prolog = Prolog()
>>> prolog.assertz("father(michael,john)")
If you get an error, such as "libpl (shared) not found." or "FATAL ERROR: Resource not found" be sure you have installed SWI-Prolog as a share library. Check your default library directory (usually ``/usr/lib``) for ``libpl.so``.
Installing on Win32
-------------------
1) Get a recent version of SWI-Prolog for Win32 from: http://www.swi-prolog.org/dl-stable.html and install it.
2) You need to add SWI-Prolog's bin directory ``C:\Program Files\pl\bin`` to *path*, here are two tutorials for that: http://www.computerhope.com/issues/ch000549.htm and http://vlaurie.com/computers2/Articles/environment.htm
3) Get a Windows installer version of PySWIP and install it.
4) After you install it, you can test it with the following at your Python console::
>>> from pyswip import Prolog
>>> prolog = Prolog()
>>> prolog.assertz("father(michael,john)")