• tcltls install error...

    From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Sun Mar 3 14:39:37 2024
    From Newsgroup: comp.lang.tcl

    After building latest tcl/tk 8.6.14, I also freshened up a few extra
    libraries, in particular tcltls-1.7.22

    It seemed to compile well, but the last few lines of build-log show:

    ...
    objcopy --discard-all shared-tcltls.so
    mv shared-tcltls.so tcltls.so
    /usr/bin/install -c -d '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c tcltls.so '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c -m 644 pkgIndex.tcl '{/usr/local/lib}/tcltls1.7.22'

    Yes, there are some strange extra curlies, and - indeed - it didn't
    install into /usr/local/..., but instead into a local directory "{".

    Is it just me...? (I'll go deeper into analysis, if this isn't an
    already known issue.)

    Last time I built tcltls was version 1.7.21 on Solaris, and I didn't
    have these extra curlies back then.

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Sun Mar 3 15:21:01 2024
    From Newsgroup: comp.lang.tcl

    Well, I did look further into it, and the culprit is not tcltls.

    In /usr/local/lib/tclConfig.sh from fresh tcl-8.6.14 install
    it says literally: TCL_PACKAGE_PATH='{/usr/local/lib} '

    All other tclConfig.sh on my system all still have the whitespace,
    but no curlies in that line.

    My last tcl build on that machine is a bit aged, so I cannot yet
    tell, how "fresh" the regression is - if it isn't caused by some
    other oddity on my system, anyway.


    Andreas Leitgeb <avl@logic.at> wrote:
    After building latest tcl/tk 8.6.14, I also freshened up a few extra libraries, in particular tcltls-1.7.22

    It seemed to compile well, but the last few lines of build-log show:

    ...
    objcopy --discard-all shared-tcltls.so
    mv shared-tcltls.so tcltls.so
    /usr/bin/install -c -d '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c tcltls.so '{/usr/local/lib}/tcltls1.7.22' /usr/bin/install -c -m 644 pkgIndex.tcl '{/usr/local/lib}/tcltls1.7.22'

    Yes, there are some strange extra curlies, and - indeed - it didn't
    install into /usr/local/..., but instead into a local directory "{".

    Is it just me...?

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Sun Mar 3 15:42:39 2024
    From Newsgroup: comp.lang.tcl

    And one more followup...

    It seems to be a regression inside tcl-8.6 that happened somewhere
    between 8.6.10 (correct) and 8.6.14 (wrong)

    in 8.6.10 the unix/configure.in had this line 871:
    test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}"

    in 8.6.14, that line (now 873) has changed to:
    test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${prefix}/lib} ${TCL_PACKAGE_PATH}"

    Note: There is a similar line shortly above, with a similar change
    and two now-braced items, which may affect other unix-platforms.

    Either, there was a wrong assumption about what language code
    would actually use that tclConfig.sh entry,
    or tcltls is wrong by using it at all. I don't know.


    Andreas Leitgeb <avl@logic.at> wrote:
    Well, I did look further into it, and the culprit is not tcltls.

    In /usr/local/lib/tclConfig.sh from fresh tcl-8.6.14 install
    it says literally: TCL_PACKAGE_PATH='{/usr/local/lib} '

    All other tclConfig.sh on my system all still have the whitespace,
    but no curlies in that line.

    My last tcl build on that machine is a bit aged, so I cannot yet
    tell, how "fresh" the regression is - if it isn't caused by some
    other oddity on my system, anyway.


    Andreas Leitgeb <avl@logic.at> wrote:
    After building latest tcl/tk 8.6.14, I also freshened up a few extra
    libraries, in particular tcltls-1.7.22

    It seemed to compile well, but the last few lines of build-log show:

    ...
    objcopy --discard-all shared-tcltls.so
    mv shared-tcltls.so tcltls.so
    /usr/bin/install -c -d '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c tcltls.so '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c -m 644 pkgIndex.tcl '{/usr/local/lib}/tcltls1.7.22' >>
    Yes, there are some strange extra curlies, and - indeed - it didn't
    install into /usr/local/..., but instead into a local directory "{".

    Is it just me...?

    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Harald Oehlmann@wortkarg3@yahoo.com to comp.lang.tcl on Sun Mar 3 18:56:39 2024
    From Newsgroup: comp.lang.tcl

    Dear Andreas,
    great finding !

    Please file a ticket on tcl...

    https://core.tcl-lang.org/tcl/ticket

    Thanks and take care,
    Harald

    Am 03.03.2024 um 16:42 schrieb Andreas Leitgeb:
    And one more followup...

    It seems to be a regression inside tcl-8.6 that happened somewhere
    between 8.6.10 (correct) and 8.6.14 (wrong)

    in 8.6.10 the unix/configure.in had this line 871:
    test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="${prefix}/lib ${TCL_PACKAGE_PATH}"

    in 8.6.14, that line (now 873) has changed to:
    test -z "$TCL_PACKAGE_PATH" && TCL_PACKAGE_PATH="{${prefix}/lib} ${TCL_PACKAGE_PATH}"

    Note: There is a similar line shortly above, with a similar change
    and two now-braced items, which may affect other unix-platforms.

    Either, there was a wrong assumption about what language code
    would actually use that tclConfig.sh entry,
    or tcltls is wrong by using it at all. I don't know.


    Andreas Leitgeb <avl@logic.at> wrote:
    Well, I did look further into it, and the culprit is not tcltls.

    In /usr/local/lib/tclConfig.sh from fresh tcl-8.6.14 install
    it says literally: TCL_PACKAGE_PATH='{/usr/local/lib} '

    All other tclConfig.sh on my system all still have the whitespace,
    but no curlies in that line.

    My last tcl build on that machine is a bit aged, so I cannot yet
    tell, how "fresh" the regression is - if it isn't caused by some
    other oddity on my system, anyway.


    Andreas Leitgeb <avl@logic.at> wrote:
    After building latest tcl/tk 8.6.14, I also freshened up a few extra
    libraries, in particular tcltls-1.7.22

    It seemed to compile well, but the last few lines of build-log show:

    ...
    objcopy --discard-all shared-tcltls.so
    mv shared-tcltls.so tcltls.so
    /usr/bin/install -c -d '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c tcltls.so '{/usr/local/lib}/tcltls1.7.22'
    /usr/bin/install -c -m 644 pkgIndex.tcl '{/usr/local/lib}/tcltls1.7.22' >>>
    Yes, there are some strange extra curlies, and - indeed - it didn't
    install into /usr/local/..., but instead into a local directory "{".

    Is it just me...?


    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Andreas Leitgeb@avl@logic.at to comp.lang.tcl on Sun Mar 3 18:41:52 2024
    From Newsgroup: comp.lang.tcl

    Done: 1b8a893ded5f2a9b0c70a5893c7a2be3429d8033


    PS: a late'ish "HB2U" :-)


    Harald Oehlmann <wortkarg3@yahoo.com> wrote:
    Dear Andreas,
    great finding !

    Please file a ticket on tcl...

    https://core.tcl-lang.org/tcl/ticket

    Thanks and take care,
    Harald
    --- Synchronet 3.20a-Linux NewsLink 1.114
  • From Harald Oehlmann@wortkarg3@yahoo.com to comp.lang.tcl on Mon Mar 4 12:56:55 2024
    From Newsgroup: comp.lang.tcl

    Hi Andreas,
    thank you a lot. The ticket caused some action.

    It is apparently a TCLTLS bug, not a TCL bug.
    So, a ticket there might be appropriate...

    Take care,
    Harald

    Am 03.03.2024 um 19:41 schrieb Andreas Leitgeb:
    Done: 1b8a893ded5f2a9b0c70a5893c7a2be3429d8033


    PS: a late'ish "HB2U" :-)


    Harald Oehlmann <wortkarg3@yahoo.com> wrote:
    Dear Andreas,
    great finding !

    Please file a ticket on tcl...

    https://core.tcl-lang.org/tcl/ticket

    Thanks and take care,
    Harald

    --- Synchronet 3.20a-Linux NewsLink 1.114