package

Where is Expect?

Question: 

Where is Expect? Older versions of ActiveTcl had an expect executable, but the new versions don't. Where did it go? Why doesn't ActiveTcl 8.5 seem to have Expect anywhere?

Answer: 

Are you running a 64-bit ActiveTcl on Windows?
Expect has not been ported to 64-bit Windows. A Windows 64-bit port of Expect is not trivial, and may not be possible.

-------------------------------------------

Are you running ActiveTcl 8.5.x or 8.6.x?
With ActiveTcl 8.5.x and 8.6.x, the number of extensions shipped with ActiveTcl is limited. This controls size bloat in the installers. Expect is not included inside the installer for ActiveTcl 8.5 or 8.6.

Modules can be downloaded and installed over the internet for ActiveTcl 8.5 and 8.6 through the TEApot package manager. With ActiveTcl installed, Expect can be added from the command line with:
teacup install Expect
You may need to set up your environment if you are running behind a firewall or proxy server. See the user manuals for teacup (or ActivePerl's PPM manager since it requires the same setup).

There is no stand-alone installer for Expect, or any other Tcl package. A package is not a stand-alone product. You must use the framework of TEApot, or find the source-code on the internet and compile/install the package manually.

-----------------------------------------

Are running ActiveTcl 8.4.x?
Rather than being linked to a different interpreter, in recent versions of ActiveTcl 8.4, Expect has been made into a proper Tcl package. If you have the line:

package require Expect

In your source file before the first use of any Expect functions or variables, you can then run the file using tclsh, without having to use a special interpreter.

------------------------------------------

The TEAPot distribution process has an additional benefit, especially important if you cannot get internet access for TEApot. It is possible to install an 8.5 release ON TOP of (into the same directory) an 8.4 release. This gives you both tclsh and tclsh8.5, wish and wish8.5, fully working demos, plus the complete set of modules shipped with 8.4 which are also all compatible with 8.5.

If you wish to have both 8.4 and 8.5:
-You MUST install 8.4 first. (If you already have 8.5 only, it should be uninstalled.)
-It is always advisable to manually delete any files left behind in the ActiveTcl install directory when changing versions.
-You should use a compatible pairing. The most compatible pairings are:

ActiveTcl 8.4.20.0 with 8.5.14.0 and higher
ActiveTcl 8.4.19.6 with 8.5.11.1 to 8.5.13.0
ActiveTcl 8.4.19.5 with 8.5.9.2 to 8.5.11.0
ActiveTcl 8.4.19.4 with 8.5.8.2 to 8.5.9.1
ActiveTcl 8.4.19.3 with 8.5.8.1
ActiveTcl 8.4.19.2 with 8.5.8.0
ActiveTcl 8.4.19.1 with 8.5.3.0 to 8.5.7.0
ActiveTcl 8.4.19.0 with 8.5.2.0
ActiveTcl 8.4.18.0 with 8.5.1.0
ActiveTcl 8.4.17.0 with 8.5.0.0.283511

All 8.4 versions now require Business Edition licenses.

Why isn't BLT included in ActiveTcl?

Question: 

Why isn't BLT included in ActiveTcl?

Answer: 

BLT is not provided with ActiveTcl, which is our free Tcl/Tk distrbution available for Windows, UNIX, and OS X. For more information on what is included with ActiveTcl, please see the documentation at:

Package Reference.

We do not provide BLT at this time largely because it is an unmaintained extension with outstanding issues, and cannot be considered "stable".

TclApp can't find a package

Question: 

I try to wrap my TclApp application and TclApp says it can't find a package that I know I have installed. It's in my package search list -- what do I do?

Answer: 

If you're trying to wrap a package in TclApp and it can't find a dependent package that ships with ActiveTcl you have specified, try the following:

  • locate the .tap file in the package's directory
  • open the .tap file and ensure that the capitalization in the TclApp definition matches that found in the Package directive of the .tap file

Though the package's filename or directory may not be capitalized, it is what is found in the .tap file that matters for TclApp.