The symptom of this is that Windows complains about not finding
tcl<ver>.dll.
See the release notes for what version of Tcl/Tk was used to build SICStus.
If you want to use another Tcl/Tk version, you need to recompile library(tcltk). You
can do this by following these steps:
(Please do not embark on this unless you are fairly familiar with command-prompts and compilation procedures).
$ cd library/x86-win32-nt-4
$ mkdir tcltk_new
$ cd tcltk_new
$ splfr --cflag=-Ic:/path/to/Tcl/include
../../tcltk/*.c ../../tcltk.pl c:/path/to/Tcl/lib/tcl84.lib
c:/path/to/Tcl/lib/tk84.lib
$ cp tcltk.dll ../tcltk.dll
If you do not have a shell that expands “*.c”, you need to replace “../../tcltk/*.c” with the name of all C source files in ../../tcltk. Also, don't forget to adjust the actual paths to your Tcl/Tk installation directory.
The following sample session shows how it may look:
$ splfr --cflag=-Ih:/MS_Windows_2000/Tcl/include ../../tcltk/*.c ../../tcltk.pl h:/MS_Windows_2000/Tcl/lib/tcl84.lib h:/MS_Windows_2000/Tcl/lib/tk84.lib
SICStus 3.12.11 ...
Licensed to SICS
% tcltk_glue_1084_1044046414.c generated, 20 msec
% tcltk_glue.h generated, 20 msec
tcl.c
../../tcltk/tcl.c(223) : warning C4090: 'function' : different 'const' qualifiers
../../tcltk/tcl.c(223) : warning C4024: 'sptcl_save_error' : different types for formal and actual parameter 2
../../tcltk/tcl.c(323) : warning C4090: 'function' : different 'const' qualifiers
../../tcltk/tcl.c(323) : warning C4024: 'sptcl_save_error' : different types for formal and actual parameter 2
../../tcltk/tcl.c(374) : warning C4090: 'function' : different 'const' qualifiers
../../tcltk/tcl.c(374) : warning C4024: 'sptcl_save_error' : different types for formal and actual parameter 2
tk.c
../../tcltk/tk.c(134) : warning C4090: 'function' : different 'const' qualifiers
../../tcltk/tk.c(134) : warning C4024: 'sptcl_save_error' : different types for formal and actual parameter 2
../../tcltk/tk.c(162) : warning C4090: 'function' : different 'const' qualifiers
../../tcltk/tk.c(162) : warning C4024: 'sptcl_save_error' : different types for formal and actual parameter 2
tkappini.c
tkterm.c
util.c
tcltk_glue_1084_1044046414.c
Creating library dummy.lib and object dummy.exp
$ cp tcltk.dll ../tcltk.dll
$ sicstus -i
SICStus 3.12.11 ...
Licensed to SICS
| ?- use_module(library(tcltk)).
% loading c:/program files/sicstus prolog 3.10.0/library/tcltk.po...
% module tcltk imported into user
% loading foreign resource c:/program files/sicstus prolog 3.10.0/library/x86-win32-nt-4/tcltk.dll in module tcltk
% loaded c:/program files/sicstus prolog 3.10.0/library/tcltk.po in module tcltk, 10 msec 14744 bytes