Menu

#26 tclsh90.exe cannot start: broken pipe

2.0.3
open
nobody
None
2025-11-13
2025-10-26
No

I've just installed tcl-9.0.2-installer-2.0.5-x64.msi (I an on Microsoft Windows 11 Pro - x64)
Full installation, under c:\Tcl90 , since in c:\Tcl I have my Tcl86 toolkit.

wish90.exe works as expected, but I cannot launch tclsh90.exe

When launching tclsh90, I see the % prompt, then the app suddendly ends.
C:\tmp>tclsh90
%
C:\tmp>

I wrote a simple script "x.tcl"
C:\tmp>type x.tcl
puts "hello world"

then I launched "tcls90 x.tcl"

C:\tmp>tclsh90 x.tcl
error writing "stdout": broken pipe
while executing
"puts "hello world""
(file "x.tcl" line 1)

What's going on ? why wish90.exe works and tcls90.exe don't ?

Discussion

  • Ashok P. Nadkarni

    wish does not expect the stdout channel to be present, tclsh does. That's probably the difference.

    As to why stdout is not found or initialized, I am not sure. One possibility is that you have both tcl86 and tcl90 directories in your PATH environment variable. Could you check for that?

     
  • Aldo Buratti

    Aldo Buratti - 2025-10-28

    Sorry, still the same error ...

    I have been working with TclTk 8.6.11 for many year (Magicsplat distro - installed under c:\Tcl)
    then
    I installed TclTk9.0.3 (Magicsplat distro) under c:\Tcl90

    I can completeley unset the PATH and then run tvls86 or tclsh90 ...

    set PATH=Z:\dummy
    c:\Tcl\tclsh \tmp\x.tcl --> OK it works as expected
    c:\Tcl90\tclsh \tmp\x.tcl --> error writing "stdout": broken pipe .....

     
  • Ashok P. Nadkarni

    Very strange. There have been a few thousand downloads of 9.0 and no one else has reported this issue.

    As a first step to reproduce, what terminal/console are you using? cmd.exe, Windows Terminal or something else? Do other tcl 9.0 builds work (preferably if you can build tclsh yourself to check) ?

    What happens if you redirect stdout? For example,

    c:\Tcl90\tclsh \tmp\x.tcl > output.txt
    
     
  • Aldo Buratti

    Aldo Buratti - 2025-10-29

    I'm using cmd.exe.
    Running
    c:\Tcl90\tclsh \tmp\x.tcl > output.txt
    or even
    c:\Tcl90\tclsh \tmp\x.tcl | more
    is OK, but this is not a full working solution ...

    I downloaded other tcl9.0 builds (from magicsplat), always with the same (bad) result.
    I will try to build Tcl9.0 by myself, but I suspect the problem is with the external MS dlls ...
    I'll keep you informed.

    Currently, working with Tcl9 on Windows is not a priority; since I'm developing various packages for Win/Mac/Linux and Tcl8/Tcl9, I need Tcl9 on Windows only for running some test suites ... since the test suite for Tcl9/Linux and Tcl9/Mac works as expected, I'm quite confident that I can deliver working multiplatform solutions also for Tcl9/Windows. At least I hope ..

     
  • Ashok P. Nadkarni

    Aldo, anything further to report on this? I'm kind of stuck as to why this occurs on your system.

    Could you tell me what locale you are running under?

     
  • Aldo Buratti

    Aldo Buratti - 2025-11-13

    No good news. Im'm on Windows 11 pro.
    Locale ? I guess you mean the internationaizationl setting: currently set as Italy.

     

Log in to post a comment.