As I mentioned earlier this year in Good Things Come in Managed Packages, we are moving towards using community based package management systems and tools for all of our language distributions. Now, by open-sourcing these important pieces of the Tcl eco-system, everyone will benefit from peer-review, community collaboration and can tailor them to best suit the Tcl community.Īt ActiveState we have been involved in the Tcl, Perl, and Python open source languages for over two decades, and we have provided a package repository and tools for the languages we support. Until now, ActiveState has been internally maintaining and providing TEAcup and TEApot. Tcllib ships with a module called tcllibc, which is compiles to a shared object.ActiveState is super excited to announce we’re open sourcing TEAcup/TEApot: one of Tcl’s key community package repository systems. Simple fix is to change the package require to package require md5 1. If your code simply uses package require md5 you get the latest version, which is 2.x, which may break scripts expecting the older 1.x API. This happend with the md5 package, which is provided as an 1.x and 2.x version. There may be some unexpected and unwanted side effects if a package versions changes from major version (1.x to 2.x for example) indicating an API change. If you are concerned about disk space you can simply delete the older tcllib directory and examples from your installation. So if you have for instance an ActiveTcl install, you simply accept the installer defaults (run the installer with your tclsh from ActiveTcl, so it picks up the right auto_path) and install in parallel. All packages use version numbers so if you don't use package require -exact in your scripts you get the latest compatible version automatically. You can happily install multiple tcllib versions in parallel. How do you upgrade the ActiveTcl version? Do you take the defaults the installer gives you or do you find where the current version is and replace that? % lappend auto_path /path/to/tcllib/installdir If it is missing, you have to add it to your auto_path in your scripts. It has to contain the parent directory of the directory into which you installed the packages, or the install directory itself. If it does not work, check your auto_path variable like this: % set auto_path If it works and returns the version number of the returned package, you installed Tcllib correctly. Try this (or to require any of the other packages): % package require nmea You can get info about valid command line switches for the installer by running: tclsh installer.tcl -helpįire up your default tcl interpreter. It pops up a GUI (if Tk is available) which will guide you through the installation. The easiest way to install tcllib is the included installer, try: tclsh installer.tcl If you used something like ActiveStates Distro, a deb or rpm package, you probably don't need this. If you don't already have Tcllib downloaded then see Tcllib Location for some ways to get to a working tcllib on your OS. The minimal version for all Tcllib packages is 8.0, due to the use of namespaces. You should have an installed Tcl version greater or equal to 8.2 for most packages in Tcllib for 64-bit systems, a recent Tcl 8.4 or newer is recommended.
0 Comments
Leave a Reply. |