Beyond installation

Author(s): Manuel Carro, Daniel Cabeza, Manuel Hermenegildo.

Architecture-specific notes and limitations

Ciao makes use of advanced characteristics of modern architectures and operating systems such as multithreading, shared memory, sockets, locks, dynamic load libraries, etc., some of which are sometimes not present in a given system and others may be implemented in very different ways across the different systems. As a result, currently not all Ciao features are available in all supported operating systems. Sometimes this is because not all the required features are present in all the OS flavors supported and sometimes because we simply have not had the time to port them yet.

The current state of matters is as follows:

multithreading, shared DB access, and locking working.
multithreading, shared DB access, and locking working.
multithreading, shared DB access, and locking working.
SunOS 4:
multithreading, shared DB access, and locking NOT working.
Win 95/98/NT/2000/XP:
multithreading, shared DB access, and locking working. Dynamic linking of object code (C) libraries NOT working.
Mac OS X (Darwin):
multithreading, shared DB access, and locking working.

The features that do not work are disabled at compile time.

Keeping up to date with the Ciao users mailing list

We recommend that you join the Ciao users mailing list (, in order to receive information on new versions and solutions to problems. Simply send a message to <>, containing in the body only the word:


alone in one line. Messages in the list are strictly limited to issues directly related to Ciao and your email address will of course be kept strictly confidential. You mail also want to subscribe to the comp.lang.prolog newsgroup.

There is additional info available on the Ciao system, other CLIP group software, publications on the technology underlying these systems, etc. in the CLIP group's WWW site

Downloading new versions

Ciao and its related libraries and utilities are under constant improvement, so you should make sure that you have the latest versions of the different components, which can be dowloaded from:

Reporting bugs

If you still have problems after downloading the latest version and reading the installation instructions you can send a message to <>. Please be as informative as possible in your messages, so that we can reproduce the bug.

  • For installation problems we typically need to have the version and patch number of the Ciao package (e.g., the name of the file downloaded), the output produced by the installation process (you can capture it by redirecting the output into a file or cutting and pasting with the mouse), and the exact version of the Operating System you are using (as well as the C compiler, if you took a source distribution).

  • For problems during use we also need the Ciao and OS versions and a small example of code which we can run to reproduce the bug.