XOTcl - Download and Availability

[Homepage]
[What is XOTcl?]
[Publications]
[Manuals]
[Applications]
[Download]
  

XOTcl Download

The most recent version of XOTcl 1 is 1.6.8. Note that the forthincoming major release of XOTcl (XOTcl 2.0) is based on the Next Scripting Framework. If your application requires Tcl 8.4, you have to stick to the XOTcl 1 series, since the Next Scripting Framework requires Tcl 8.5.

For XOTcl 1, we provide a source code distribution and binary distributions for Windows and Linux. XOTcl is now included as well in all major binary distributions of Tcl such as in ActiveTcl of ActiveState (included in the Core Package, binaries for the Windows family, Linux, Solaris and HP-UX) and Tcl/Tk Aqua (part of the 'batteries included' version TclTkAquaBI for Mac OsX).

Generally, a Tcl installation is needed as a pre-requirement for XOTcl. Practically all Linux distributions (such as RedHat, Suse, Fedora Core, Debian etc.) contain Tcl. If you want to compile the source code of XOTcl on your system you will require the Tcl sources as well.

The XOTcl distribution includes:

  • libxotcl which allows you to dynamically load XOTcl into every Tcl compliant environment (like tclsh, wish, wafe, itclsh, ...).
  • xotclsh is the shell to run stand-alone XOTcl scripts. This is a deprecated shell, XOTcl should be loaded with
    "package require XOTcl; namespace import ::xotcl::*
  • xowish is the stand-alone shell to run XOTcl scripts with Tk support. You need Tk version matching to your Tcl version installed on your system (it can be downloaded from the same place as Tcl). This is a deprecated shell, XOTcl should be loaded into wish with
    "package require XOTcl; namespace import ::xotcl::*
  • ActiWeb consists of a library of components for internet applications, which reach from HTTP server and clients, over support to process the common internet formats, and for mobile code.

XOTcl Distributions

Source Code Distribution

The recent changes and the detailed differences between the XOTcl releases are described in the ChangeLog. For questions concerning the compilation of the source code, consult COMPILE, if you are on a Unix system, or COMPILE.win if you compile under Windows.

Binary Distributions

Binary distributions contain the compiled files for noted operating systems as well the ActiWeb packages.

  • Linux Binary Version: In general, we recommend for starters distributions from debian or active state. See section at the bottom binary distributions in the form a tar file or rpm file.

  • Windows Binary Version: Windows binaries are available from http://wintcltk.sourceforge.net/ typically a few days after the release of the source versioon
For questions concerning the installation of binary distributions consult README.

Debian/Ubuntu Distribution

Starting with XOTcl 1.6.0, release packages for XOTcl are available for Debian GNU/Linux which are co-maintained with the Debian Tcl/Tk maintainer team. Moreover, you will find XOTcl in upcoming Ubuntu releases, starting with Ubuntu 8.10 "Interpid Ibex". The most recent XOTcl distributions are contributed to Debian unstable (sid) within days after their release. Beware delays between actual release dates and Debian uploads due to the Debian upload procedure. Once meeting certain criteria of quality, the XOTcl packages are automatically included into Debian testing (lenny). As for Ubuntu, the package versions in Debian unstable are reguarily imported early in the development cycle of Ubuntu releases. Therefore, starting with Ubuntu 8.10 "Intrepid Ibex", XOTcl packages will available for Ubuntu as well.

For details and pointers to the Debian source package see the Debian package tracker. Ubuntu-related infos may be found at the Ubuntu package tracker. Please, report packaging-related issues according to the Debian guidelines.

  1. To obtain a bare XOTcl installation using Debian's aptitude/ apt-get, simply type:
      aptitude install xotcl xotcl-shells xotcl-doc
    
  2. To obtain a development-ready XOTcl environment, type:
      aptitude install xotcl xotcl-shells xotcl-doc xotcl-dev
    
  3. To register XOTcl as AOLServer module, type:
      aptitude install xotcl xotcl-doc aolserver4-xotcl 

Supplemental Resources for XOTcl

AOLserver

Starting with XOTcl 0.85.3, XOTcl contains support for AOLserver, which is a high performance multi-threaded web server, able to serve up to 28000 hits per second in real world applications (for more details see the introduction to AOLserver by Phil Greenspun ( Part 1, Part 2, Part 3, and Part 4).

For versions earlier than 4.0 AOLserver needed a special initialization so it cannot load simply arbitrary tcl modules. These modules need special stubs and they have to be thread-safe. XOTcl contains now these stubs. However, AOLserver needs a small patch for AOLserver 3.* for XOTcl, which was developed by Zoran Vasiljevic see README.

Starting with AOLserver 4.0 XOTcl can be loaded into the AOLserver without any patch. For using predefined XOTcl classes in all connection threads a file xotcl.tcl is loaded into the modules directory of the aolserver. The following commands can be used to compile XOTcl and install it into the appropriate places of the specified aolserver:

          # cd xotcl-1.6.8
          # CC=gcc;export CC
          ./configure --enable-threads --enable-symbols \
              --prefix=/usr/local/aolserver \
              --exec_prefix=/usr/local/aolserver \
              --with-tcl=/usr/src/tcl8.4.19/unix
          # make
          # make install-aol

Tcl

Since XOTcl depends on Tcl, Tcl has to be installed properly on your system. Since XOTcl needs tclInt.h, some installations might require to install a development version of Tcl. XOTcl is tested with Tcl 8.4 (8.4.19), 8.5 (8.5.8) and 8.6b1.

Tcl can be from the Tcl Developer Exchange Page

and from several mirrors.

Patch for Tcl to support XOTcl-specific Byte-Code instructions

This is a patch for tcl 8.4a3 for performance hungry applications to provide special byte-code-support for xotcl, that yields for classical benchmark programs up to 40%. Warning: This patch is not likely to be integrated into the general Tcl core in the new or distant future. We will try to find a way to achieve a similar or higher performance increase by working with the Tcl-core developers towards a better version of the xotcl-bytecode mechanisms. To use this patch, compile Tcl with -DUSEROPCODE (after applying the patch) and XOTcl with -DXOTCL_BYTECODE.

GDBM

The xoStore component of XOTcl is shipped together with a language binding of GDBM for XOTcl. In order to compile the gdbm support yourself, GDBM must be installed properly on your system. (GDBM is available e.g. http://www.gnu.org/software/gdbm/)). An experimental Windows port of GDBM can be found in Stefan Vogel's TclGdbm distribution.

Emacs

For (X)Emacs-users, we offer the XOTcl aware lisp files (which are modifications of the XEmacs 20.4 distribution):

OO-Bench

Here is an comparison between a few Tcl OO-extensions (XOTcl, OTcl, itcl, stoop, and classytcl) in terms of performance and memory consumption. These tests were performed with XOTcl 1.2.0 on a Pentium 4 M Notebook with 1400 MHz under Fedora Core 1.0. The full test is in oo-bench.tar.gz

Previous XOTcl Distributions

XOTcl 1.6.7 XOTcl 1.6.6 XOTcl 1.6.5 XOTcl 1.6.4 XOTcl 1.6.3 XOTcl 1.6.2 XOTcl 1.6.1 XOTcl 1.6.0 XOTcl 1.5.6 XOTcl 1.5.5 XOTcl 1.5.4 XOTcl 1.5.3 XOTcl 1.5.2 XOTcl 1.5.1 XOTcl 1.5.0 XOTcl 1.4.0 XOTcl 1.3.9 XOTcl 1.3.8 XOTcl 1.3.6 XOTcl 1.3.5 XOTcl 1.3.4 XOTcl 1.3.1 XOTcl 1.2.0 XOTcl 1.1.1 XOTcl 1.1.0 XOTcl 1.0.2 XOTcl 1.0.1 XOTcl 1.0 XOTcl 0.9.4 XOTcl 0.9.3 XOTcl 0.9.1 XOTcl 0.9 XOTcl 0.85 XOTcl 0.84 XOTcl 0.83 XOTcl 0.82 XOTcl 0.81 XOTcl 0.80
Contact:
Uwe Zdun
Gustaf Neumann
   Last Change: Tue Mar 19 04:37:19 CET 2024