Installing Apache, Rivet and Tcl on a Windows machine
mxmanghi 2018-03-31: Apache Rivet supports Windows and can be built using CMake. Read cmake/README.cmake and the manual
APW 2007-01-20: After having spent 1 and a half day setting up Rivet on Windows after a new installation, I found the solution and got it running.
I hope this page helps other people not waste so much time. I have to admit, if I had searched before on google, I would have saved a lot of time ;-), as the answer was already there.
Rivet at the moment only works with Apache 1.3.x versions. There are some efforts to port it to Apache 2.x.x versions but nothing finished yet (see c.l.t. archive).
For downloading that old version of Apache you have to go to [L1 ] and select apache_1.3.37-win32-x86-src.msi .
For downloading Rivet see Rivet page.
For Windows it is very important that you take a non-threaded Tcl version! I have tried with Tcl 184.108.40.206 but I think versions > Tcl 220.127.116.11 are dangerous, because they are built with threads (I refer to ActiveState versions here!)
I was successful using Tcl 18.104.22.168 together with Apache 1.3.37.
If you want to have a different version of Tcl for your daily work, try the following:
* Install the desired Tcl version as the "normal" version (with the install procedure). For example I have running Tcl 22.214.171.124 as "normal" version of Tcl. * In Apache subdirectory "modules" install the .dll file .../<Tcl 126.96.36.199 directory>/bin/tcl84.dll * In Apache subdirectory "lib" install the following directories from .../<Tcl 188.8.131.52 directory>/lib
In Apache subdirectory "lib" install the following directories
* rivet0.7.0 (from the rivet installation) * mysqltcl (I use mysql as a database; otherwise install i.e.: oratcl etc.) if you want to access a database
Doing that, your Apache environment is self-supporting (independent of other version of Tcl running on your system).
Hope that helps others too.
jdc - 2012-10-11 10:04:42
Tested Rivet with Tcl 8.6 on Linux and using a non-threaded Tcl was needed there too to avoid a can not find channel named "stdout" error.