Wish can not find packages which are installed, no teacup in new activestate tcl distribution

OS : Debian 64
framework : activestatetcl 64 8.5.19

Some time ago, my project stop working : some require c package (tls, …) can not be found by the wish executable

Error in startup script: can’t find package tls
while executing
“package require tls”
(procedure “main” line 22)
invoked from within
“main”

At first, i try to reinstall the package and i encounter a first bizarre problem : teacup can find the package (teacup search tls) but can not install it. I think it come from teacup that can not find the architecture of the host : i have a linux-unknown-x86_64 when i try to link the teapot directory with the shell with teacup link make. The pb perhaps come from an update of my debian system (which is the latest i think). Any idea where the pb come from?

Then i try to reinstall the last version of the active state with a new tar.gz from the activestate website (it is also a 8.5.19 but newer). But surprise there is no teacup binary, so i can not (or do not know how) download the needed package. How the last version work?

Best Regards,
Jérôme Legrand

If you’re using a basekit, starpack, or startkit, there’s a decent chance that your Debian update has improved security features that block the loading of modules and libraries from the wrapped file. Many distros have implemented tighter controls on how libraries can be loaded, and the use of $temp for extraction is now problematic.

Current versions of ActiveTcl don’t support TEA. 8.5.19 was a transitional version, in which the TEA architecture is not fully supported. If you want to add modules using TEA, you need to stay on 8.5.18.

That change to “linux-unknown-x86_64” would be the most likely cause of TEA failing. Unfortunately, a lot of the details about TEA were covered in the documentation for the Tcl Dev Kit. That product was discontinued in 2016 and the online manuals are not online any longer. As I recall, fixing a broken TEA database was not well documented, as creating the setup in the first place required no user involvement. The whole of the TEA products were open sourced, so there is a possibility that you could inspect the code to see where you might be able to make that repair.

1 Like