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:

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:
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:
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.