I'm building the software for a new mint 22.3 installation.
After downloading the tcl9.0.4 sources, ./configure --prefix=<wherever> failed with an error I didn't note down exactly, which included a
suggestion that I include "--disable-zipfs" in my configure command.
I tried that, and configure completed happily, but when I then did
"make", that failed with "configure: error: cannot find a usable native
Tcl 9 tclsh. Either set TCLSH_NATIVE or use configure with --disable-
zipfs" which I believe is the text of the earlier configure error. I've checked config.log, my last command was
-a-a-a-a-a-a-a-a-a $ ./configure --prefix=/opt/tcl9.0.4 --disable-zipfs
I'm not sure what "set TCLSH_NATIVE" means; I'll try defining an
environment variable of that name with random contents.
If that fails, I'll try building tcl9.0.0 before tcl9.0.4.
Does anyone recognise this error and is there a better way of working
around it?
If the TCLSH_NATIVE "trick" works, how do I move on to a tclsh that
includes zipfs?
Many thanks, and sorry again about last night's rant.
Alan
On 14/07/2026 22:49, Alan Grunwald wrote:
I'm building the software for a new mint 22.3 installation.
After downloading the tcl9.0.4 sources, ./configure --
prefix=<wherever> failed with an error I didn't note down exactly,
which included a suggestion that I include "--disable-zipfs" in my
configure command.
I tried that, and configure completed happily, but when I then did
"make", that failed with "configure: error: cannot find a usable
native Tcl 9 tclsh. Either set TCLSH_NATIVE or use configure with --
disable- zipfs" which I believe is the text of the earlier configure
error. I've checked config.log, my last command was
-a-a-a-a-a-a-a-a-a-a $ ./configure --prefix=/opt/tcl9.0.4 --disable-zipfs
I'm not sure what "set TCLSH_NATIVE" means; I'll try defining an
environment variable of that name with random contents.
If that fails, I'll try building tcl9.0.0 before tcl9.0.4.
Does anyone recognise this error and is there a better way of working
around it?
If the TCLSH_NATIVE "trick" works, how do I move on to a tclsh that
includes zipfs?
Many thanks, and sorry again about last night's rant.
Alan
I've found ticket cb338c at core.tcl.tk. It seems to be a bootstrapping issue that was introduced recently. I have recently built tcl9.0.4
without problem on a machine with 9.0.0, 9.0.1, 9.0.2, 9.0.3 on it.
Looking at the ticket, it seems that a random TCLSH_NATIVE won't cut it,
so I'll go down the "build tcl9.0.0 first route.
Good news!
After downloading, building and installing tcl9.0.0, I did
-a-a-a $ (cd Downloads/tcl9.0.4/unix/; ./configure --prefix=/opt/tcl9.0.4)
-a-a-a $ (export TCLSH_NATIVE=/opt/tcl9.0.0/bin/tclsh9.0; cd Downloads/ tcl9.0.4/unix/; make)
and the make completed ok.
Note that I didn't define an environment variable for the configure
step. This is genuine; the first time around I defined TCL_NATIVE for
both steps and was most of the way through typing a follow-up starting
"Bad news!" before I noticed that I'd defined the wrong environment variable! This motivated me to try again, without defining anything for
the configure step and it completed ok. Maybe I was hallucinating when I wrote the original message and there was never a problem with configure. Sorry for any confusion.
This seems to have got me back on track, but I note that the original
ticket is closed; I suggest that this issue merits a ticket and the
problem should be fixed sooner rather than later as it may put off new
Tcl users from trying the language at all.
Good you were able to work around it. Alternatively, you can
- delete the thread directory under pkgs. The problem is actually in the thread build, not the Tcl core. Of course, this is only if you do not
need the thread package.
- replace the thread package with the trunk from https://core.tcl- lang.org/thread/timeline?y=ci (though I have not tested this, the log
seems to indicate this is fixed).
For the record, the issue was logged as https://core.tcl-lang.org/ thread/info/30e201c7111a438e and not the ticket you referenced (although related). Unfortunately, I did not discover it during testing prior to release because it only shows up if there is no Tclsh9 on the path and
my development systems all have prior tclsh9 versions installed.
Apologies for the hassle
/Ashok
On 7/15/2026 4:27 AM, Alan Grunwald wrote:
Good news!
After downloading, building and installing tcl9.0.0, I did
-a-a-a-a $ (cd Downloads/tcl9.0.4/unix/; ./configure --prefix=/opt/tcl9.0.4) >> -a-a-a-a $ (export TCLSH_NATIVE=/opt/tcl9.0.0/bin/tclsh9.0; cd Downloads/ >> tcl9.0.4/unix/; make)
and the make completed ok.
Note that I didn't define an environment variable for the configure
step. This is genuine; the first time around I defined TCL_NATIVE for
both steps and was most of the way through typing a follow-up starting
"Bad news!" before I noticed that I'd defined the wrong environment
variable! This motivated me to try again, without defining anything
for the configure step and it completed ok. Maybe I was hallucinating
when I wrote the original message and there was never a problem with
configure. Sorry for any confusion.
This seems to have got me back on track, but I note that the original
ticket is closed; I suggest that this issue merits a ticket and the
problem should be fixed sooner rather than later as it may put off new
Tcl users from trying the language at all.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 74 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 53:37:12 |
| Calls: | 1,101 |
| Calls today: | 1 |
| Files: | 1,339 |
| Messages: | 276,196 |