This section contains some installation notes that are platform specific under UNIX.
gcc 2.x. You need to use the Sun Workshop/Forte
compiler, version 5.0 or later. InstallSICStus will try to find it
during installation but if that fails, you can set the environment
variable CC to e.g. /opt/SUNWspro/bin/cc before
invoking InstallSICStus. Using gcc 3.x does seem to work but has not yet
received much testing. To install with gcc 3.x, set the environment
variable CC appropriately before invoking InstallSICStus.
library(bdb),
library(tcltk).
timeout does not work with Java. The problems seems to be
a limitation in the Solaris setitimer for process with multiple
threads. A possible workaround on Solaris 8 is to use an alternative
thread library by setting LD_LIBRARY_PATH to
/usr/lib/lwp. This alternative thread library is not available
prior to Solaris 8 and it is the default in Solaris 9.
library(tcltk) requires Tk, which is
not installed on MacOS X by default (see Tcl/Tk Notes).
spld will only work
if there is a properly configured subdirectory sp-3.11.1
in the same directory as the executable; see Runtime Systems on UNIX Target Machines.
Alternatively, the option --wrapper can be passed to spld.
In this case a wrapper script is created that will set up various
environment variables and invoke the real executable.
spld --resources ... does not work, whereas
spld --static --resources ... will. This is no great loss;
pre-linking dynamic foreign resources is pointless, at best.
BDB, you may
need to set up DYLD_LIBRARY_PATH so that the MacOS X dynamic
linker can find them. When using the SICStus development executable
(sicstus), a wrapper script does this automatically.
tcsh> limit data
datasize 6144 kbytes
bash> ulimit -d
6144
This indicates that the maximum size of the data-segment is only 6
Mb. To remove the limit, do
tcsh> limit datasize unlimited
datasize unlimited
bash> ulimit -d unlimited
bash> ulimit -d
unlimited
Please note:limit(ulimit) is a shell built-in incsh/tcsh(sh/bash). It may have a different name in other shells.
Please note: The limit will also affect SICStus when started
from within Emacs, e.g. with M-x run-prolog. To change the
limit used by Emacs and its sub-processes (such as SICStus) you will
need to change the limit in the shell used to start Emacs. Alternatively
you can create a shell wrapper for the emacs command.
spld or splfr the Apple linker
sometimes issues a warning similar to:
ld: warning dynamic shared library: ... not made a weak library in
output with MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
This warning is harmless and can be ignored.
spld --moveable implies --wrapper. This is due to
limitations in the IRIX run-time loader.
spld --moveable. This should not be a
problem; pre-linked dynamic resources are not recommended anyway.
Large
Address-Space Model. This is done automatically by spld. If you
do not use spld, you need to set this option yourself. This is
achieved by linking the executable using the -bmaxdata option. An
alternative may be to set the environment variable LDR_CNTRL
appropriately. See the documentation for the AIX command ld.
library(bdb) does not work properly unless Berkeley DB is
built like this:
% make LIBSO_LIBS=-lpthread