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