Platform Specific Notes
Please refer to the table in Using Shared Object Files and Archive Files for
platform specific instructions for building shared object files and
archive files.
- Digital Alpha
- Quintus Prolog was revived for this platform in Release 3.4:
- 32 bit integers and pointers are used internally. However, the functions
QP_get_integer()
and QP_put_integer()
take long integer
arguments, and integer
in the foreign language interface
corresponds to long integers in foreign code. In the Structs package,
the long
type corresponds to long integers whereas the integer
type corresponds to integers. Long integers are however truncated to 32
bits (sign-extended) by the Prolog system.
- In foreign code interfacing Prolog via the foreign language interface,
pointers and long integers are assumed to occupy 64 bits. Hence, such
code must be compiled in native mode, i.e. not using the
cc
option -xtaso_short
. Furthermore, qld
will link
executables with the -taso
option, so as to ensure that all
pointers fit in 32 bits internally.
- Silicon Graphics
- Up to and including release 3.3, Quintus Prolog ran under IRIX 6.2 or later
and used the O32 ABI. Later releases run under IRIX 6.2 or later and
use the N32 ABI.
- Sparc Solaris
- Up to and including release 3.3, Quintus Prolog
did not comply with the SPARC ABI; later releases do.
- IBM RS/6000
- Quintus Prolog was revived for this platform in Release 3.4,
under AIX 4.3, and complies with the AIX 4.3 32-bit ABI.
- HP-UX
- Up to and including release 3.3, Quintus Prolog
did not comply with the HP-PA ABI; later releases do.
- Linux
- Quintus Prolog was ported to this platform in Release 3.5, under Red Hat
Linux 9, i.e. it requires
glibc 2.3
.