Forum OpenACS Development: OpenACS with Tcl9

Collapse
Posted by Gustaf Neumann on
Dear all,

You might have noticed, Tcl 9.0.0 was released a few days ago (see,
e.g., [1,2]). Tcl9 is the result of many years of work by the Tcl core
team and is a great improvement, lifting many of the constraints Tcl
had before.

Good news: OpenACS run now already with Tcl9 and passes the regression
tests successfully (40855 tests in my sample configuration). A few
changes were necessary in OpenACS and in the regression test (Tcl9 has
a more strict encoding, more strict date checking, removed commands).

This is all very new and certainly not recommended for general use,
three of the components needed with Tcl9 are still non-released
versions. Experimenting with Tcl9 and older versions of the used
components will lead to problems (I am not interested in such bug
reports). I am pretty sure, some issues will come up also with the new
versions.

However, if you are interested on experimenting with the Tcl9 version
of OpenACS, you might use the docker container from [3] (image
gustafn/openacs:latest-tcl9-bookworm), which is available for Intel 64 bit
and ARM 64 (e.g. Apple Silicon).

In order to use the container with the HEAD version of OpenACS, don't forget to
specify the environment variable "oacs_tag=HEAD" as described in [3].

The container is built with the following versions:

- OpenACS: HEAD
- NaviServer: GIT (main branch)
- Tcl 9.0.0
- libthread: 3.0.0
- NSF/XOTcl: HEAD
- tDOM: 0.9.4
- Tcllib 2.0
- PostgreSQL: 17.0

[1] https://lwn.net/Articles/992284/
[2] https://openacs.org/demo/comp.lang.tcl?thread_id=67314
[3] https://hub.docker.com/repository/docker/gustafn/openacs/general