• tcltls v1.7.23 and Tcl 9

    From Alan Grunwald@nospam.nurdglaw@gmail.com to comp.lang.tcl on Sun Sep 29 13:33:45 2024
    From Newsgroup: comp.lang.tcl

    I have encountered a problem with the above extension under tcl9.0.0

    After downloading https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z, as advertised on the "Porting extensions to Tcl 9" page on the wiki,
    configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

    % package require tls
    version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

    % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through the sources, but I have no confidence that I can find the appropriate change.

    Please can someone help?
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Alan Grunwald@nospam.nurdglaw@gmail.com to comp.lang.tcl on Sun Sep 29 14:24:04 2024
    From Newsgroup: comp.lang.tcl

    On 29/09/2024 13:33, Alan Grunwald wrote:
    I have encountered a problem with the above extension under tcl9.0.0

    After downloading https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z, as advertised on the "Porting extensions to Tcl 9" page on the wiki, configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

        % package require tls
        version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

        % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through the sources, but I have no confidence that I can find the appropriate change.

    Please can someone help?

    Maybe I should have more confidence...

    I changed line 1809 of tls.c from

    Tcl_InitStubs(interp, "Tcl", "8.4", 0)

    to

    Tcl_InitStubs(interp, "Tcl", "8.4", 0) || Tcl_InitStubs(interp,
    "Tcl", "9", 0)

    and the package now loads ok. Once I've ploughed through several more
    porting issues in my own code, I'll have an idea of whether the modified
    tls works.
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Paul Obermeier@obermeier@poSoft.de to comp.lang.tcl on Sun Sep 29 18:19:59 2024
    From Newsgroup: comp.lang.tcl

    Am 29.09.2024 um 15:24 schrieb Alan Grunwald:
    On 29/09/2024 13:33, Alan Grunwald wrote:
    I have encountered a problem with the above extension under tcl9.0.0

    After downloading https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z, as advertised on the "Porting extensions to Tcl 9" page on the wiki, configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

         % package require tls
         version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

         % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through the sources, but I have no confidence that I can find the appropriate change.

    Please can someone help?

    Maybe I should have more confidence...

    I changed line 1809 of tls.c from

        Tcl_InitStubs(interp, "Tcl", "8.4", 0)

    to

        Tcl_InitStubs(interp, "Tcl", "8.4", 0) || Tcl_InitStubs(interp, "Tcl", "9", 0)

    and the package now loads ok. Once I've ploughed through several more porting issues in my own code, I'll have an idea of whether the modified tls works.

    As long as I was testing with Tcl9 beta versions, the "8.4" in Tcl_InitStubs or Tk_InitStubs worked.
    Since using official Tcl9 this does not work anymore, so I switched to use "8.4-" as is done with "package require" calls.

    I forgot to update the preview page with the changed packages.
    Will do today or tomorrow.

    Paul
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Paul Obermeier@obermeier@poSoft.de to comp.lang.tcl on Sun Sep 29 19:29:24 2024
    From Newsgroup: comp.lang.tcl

    Am 29.09.2024 um 18:19 schrieb Paul Obermeier:
    Am 29.09.2024 um 15:24 schrieb Alan Grunwald:
    On 29/09/2024 13:33, Alan Grunwald wrote:
    I have encountered a problem with the above extension under tcl9.0.0

    After downloading https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z, as advertised on the "Porting extensions to Tcl 9" page on the wiki, configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

         % package require tls
         version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

         % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through the sources, but I have no confidence that I can find the appropriate change.

    Please can someone help?

    Maybe I should have more confidence...

    I changed line 1809 of tls.c from

         Tcl_InitStubs(interp, "Tcl", "8.4", 0)

    to

         Tcl_InitStubs(interp, "Tcl", "8.4", 0) || Tcl_InitStubs(interp, "Tcl", "9", 0)

    and the package now loads ok. Once I've ploughed through several more porting issues in my own code, I'll have an idea of whether the modified tls works.

    As long as I was testing with Tcl9 beta versions, the "8.4" in Tcl_InitStubs or Tk_InitStubs worked.
    Since using official Tcl9 this does not work anymore, so I switched to use "8.4-" as is done with "package require" calls.

    I forgot to update the preview page with the changed packages.
    Will do today or tomorrow.

    Paul

    Updated relevant packages at the BAWT preview page.
    Note, that version 1.7.23 is based upon 1.7.22, which is 4 years old.
    You might also check the current trunk of tcltls at https://core.tcl-lang.org/tcltls

    Paul
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Alan Grunwald@nospam.nurdglaw@gmail.com to comp.lang.tcl on Sun Sep 29 21:47:05 2024
    From Newsgroup: comp.lang.tcl

    On 29/09/2024 18:29, Paul Obermeier wrote:
    Am 29.09.2024 um 18:19 schrieb Paul Obermeier:
    Am 29.09.2024 um 15:24 schrieb Alan Grunwald:
    On 29/09/2024 13:33, Alan Grunwald wrote:
    I have encountered a problem with the above extension under tcl9.0.0

    After downloading
    https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z,
    as advertised on the "Porting extensions to Tcl 9" page on the wiki,
    configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

         % package require tls
         version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

         % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through
    the sources, but I have no confidence that I can find the
    appropriate change.

    Please can someone help?

    Maybe I should have more confidence...

    I changed line 1809 of tls.c from

         Tcl_InitStubs(interp, "Tcl", "8.4", 0)

    to

         Tcl_InitStubs(interp, "Tcl", "8.4", 0) || Tcl_InitStubs(interp, >>> "Tcl", "9", 0)

    and the package now loads ok. Once I've ploughed through several more
    porting issues in my own code, I'll have an idea of whether the
    modified tls works.

    As long as I was testing with Tcl9 beta versions, the "8.4" in
    Tcl_InitStubs or Tk_InitStubs worked.
    Since using official Tcl9 this does not work anymore, so I switched to
    use "8.4-" as is done with "package require" calls.

    I forgot to update the preview page with the changed packages.
    Will do today or tomorrow.

    Paul

    Updated relevant packages at the BAWT preview page.
    Note, that version 1.7.23 is based upon 1.7.22, which is 4 years old.
    You might also check the current trunk of tcltls at https://core.tcl-lang.org/tcltls

    Paul

    Thanks Paul. The package seems to work ok with the change I made above,
    your suggestion sounds tidier but on the basis of leaving well alone,
    I'll stick with what I've got at present.
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Emiliano@emil.g@example.invalid to comp.lang.tcl on Mon Sep 30 09:49:09 2024
    From Newsgroup: comp.lang.tcl

    On Sun, 29 Sep 2024 13:33:45 +0100
    Alan Grunwald <nospam.nurdglaw@gmail.com> wrote:

    I have encountered a problem with the above extension under tcl9.0.0

    After downloading https://www.tcl3d.org/bawt/download/Preview/Tcl9/tcltls-1.7.23.7z, as advertised on the "Porting extensions to Tcl 9" page on the wiki, configuring using the line

    ./configure --prefix=/opt/tcl9.0.0 --with-tcl=/opt/tcl9.0.0/lib

    building and installing, I cannot load the extension:

    % package require tls
    version conflict for package "tcl": have 9.0.0, need 8.4

    The same error also occurs if I do

    % load /opt/tcl9.0.0/lib/tcltls1.7.23/tcltls.so Tls

    so I assume a problem in the .so file. I've had a quick look through the sources, but I have no confidence that I can find the appropriate change.

    Please can someone help?

    The work is being done in the tls-1.8 branch. If you don't want to mess
    with fossil, you can download a snapshot from

    https://core.tcl-lang.org/tcltls/download?r=tls-1.8

    Note that it needs a version of OpenSSL newer than 1.X
    --
    Emiliano
    --- Synchronet 3.20a-Linux NewsLink 1.114