View Ticket
Ticket Hash: 422b0371f919bc527a87fedc5b459930a033ca14
Title: FreeBSD: branch trunk is missing tclconfig
Status: Fixed Type: Build Problem
Severity: Critical Priority: Immediate
Subsystem: Resolution: Fixed
Last Modified: 2024-11-04 02:56:35
Version Found In: 1.8.0 tcltls-216954cfae
User Comments:
anonymous added on 2024-10-08 22:15:49: (text/x-markdown)
It appears that the latest trunk is uncompliable on FreeBSD. It compiles, makes and make install fails missing tclconfig. I had to copy this from another package directory where it existed.

**Error**

    /bin/sh: cannot open ./tclconfig/install-sh: No such file or directory
    *** Error code 127
    Stop.
    make: stopped making "install" in /srv/~scrap/tcltls/tcltls-bc6ff74449

this can be fixed by copying ./tclconfig from tcltls-1505883e4a

     cp -R ../tcltls-1505883e4a/tclconfig/ ./tclconfig/
     make install
     Installing header files in /srv/tcl/include
     Installing ./generic/tls.h

and then is loadable.

    % package require tls
    1.8.0

Additional branches I've tried:

**Branch** 

    tls-1.8
    tcltls-1505883e4a
    https://core.tcl-lang.org/tcltls/info/1505883e4a18b50e

**Error**

    checking for OpenSSL pkgconfig... 
    ./configure: : Permission denied
    checking for tclsh... /srv/~scrap/tcl9.0.0/unix/tclsh
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating pkgIndex.tcl

    [root@navitcl2 /srv/~scrap/tcltls/tcltls-1505883e4a]# make
    sed -e '/^\\s*\#/d' -e '/^\\s*$/d' -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/^/"/' -e 's/$/\\n\"/' < `echo ` > tls.tcl.h || { rm -f tls.tcl.h; exit 1; }
    /bin/sh: cannot open : No such file or directory
    *** Error code 1
    Stop.
    make: stopped making "all" in /srv/~scrap/tcltls/tcltls-1505883e4a

However, if I copy Makefile and configure from bc6ff744494d3b41 in to tcltls-1505883e4a -- this enables compilation and installable but not loadable within TCL9

    % package require tls
    invalid command name "cipher_is_aead"

---

**Branch**
    
    tcltls-bc6ff744494d3b41
    https://core.tcl-lang.org/tcltls/info/bc6ff744494d3b41
    
    compiles
    makes
    make install fails

**Error**

    /bin/sh: cannot open ./tclconfig/install-sh: No such file or directory
    *** Error code 127
    Stop.
    make: stopped making "install" in /srv/~scrap/tcltls/tcltls-bc6ff74449

this can be fixed by copying ./tclconfig from tcltls-1505883e4a

     cp -R ../tcltls-1505883e4a/tclconfig/ ./tclconfig/
     make install
     Installing header files in /srv/tcl/include
     Installing ./generic/tls.h

and then is loadable.

    % package require tls
    1.8.0


Additional

**Branch**

    https://core.tcl-lang.org/tcltls/info/d00f5eca5d17e10e

Doesn't work ~ requires copying of Makefile and Configure as above.

    % package require tls
    couldn't load file "/srv/tcl/lib/tls1.8.0/libtcl9tls1.8.0.so": /srv/tcl/lib/tls1.8.0/libtcl9tls1.8.0.so: Undefined symbol "Tls_DigestCommands"

bohagan added on 2024-10-28 03:15:58: (text/x-fossil-plain)
Please use the tls-1.8 branch until I merge it with trunk. It has all of the
latest fixes including tclconfig, makefile updates, etc.

bohagan added on 2024-11-04 02:56:35: (text/x-fossil-plain)
I've tested compatibility with FreeBSD and can verify that trunk now works without issue on FreeBSD 14.1.
There were a few issues in the makefile related to FreeBSD using sh rather than bash.