This section contains some installation notes that are platform specific under UNIX.
The following libraries are not supported:
An executable built with
spld will only work if there is a
properly configured subdirectory sp-4.5.0 in the
same directory as the executable; see Runtime Systems on UNIX Target Machines in the SICStus Prolog Manual.
Alternatively, the option --wrapper can be passed to
In this case a wrapper script is created that will set up various
environment variables and invoke the real executable.
When using third-party products like BDB, you may need to set up
DYLD_LIBRARY_PATH so that the Mac OS X dynamic linker can find
them. When using the SICStus development executable (
this should happen automatically, if the third-party products have been
installed in the standard locations; see Berkeley DB on Mac OS X.
Sometimes, the default limit on the process’s data-segment is unreasonably small, which may lead to unexpected memory allocation failures. To check this limit, do:
bash$ ulimit -d 6144
This indicates that the maximum size of the data-segment is only 6 Mb. To remove the limit, do:
bash$ ulimit -d unlimited bash$ ulimit -d unlimited
ulimitis a shell built-in in
bash. It may have a different name in other shells.
SICStus will set the data segment size of itself according to the value
of the system property (or environment variable)
SP_ULIMIT_DATA_SEGMENT_SIZE. If you set this variable in the
initialization file for your shell, then you do not have to use the
ulimit command when SICStus is started from the
shell. See System
Properties and Environment Variables in the SICStus Prolog
Manual for more information about
SP_ULIMIT_DATA_SEGMENT_SIZE. This system property is set
automatically when SICStus is invoked from the SICStus Prolog IDE
(SPIDER), from Emacs (via M-x run-prolog), or from the launcher
script SICStus Prolog 4.5.0.term installed in
File names are encoded in UTF-8 under Mac OS X. This is handled correctly by SICStus.
If SICStus encounters a file name that is not encoded in UTF-8, then it will silently ignore the file or directory. This can happen on file systems where files have been created by some other OS than Mac OS X, e.g. on network file servers accessed by other UNIX flavors or Windows.
The default character encoding for the SICStus standard streams is based on the current locale. On some older versions of OS X, the default locale is POSIX/C, i.e. US ASCII.
This will come in conflict with the default character encoding for the Terminal application which is UTF-8. A clickable launcher for SICStus is optionally installed in the Applications folder. This launcher will set the character encoding of the standard streams to UTF-8 for both the Terminal and SICStus. The character encoding is set automatically when SICStus is invoked from the SICStus Prolog IDE (SPIDER), or from Emacs (via M-x run-prolog)