Sujet : Re: Announce: TclTLS 2.0b1 Release
De : nospam.nurdglaw (at) *nospam* gmail.com (Alan Grunwald)
Groupes : comp.lang.tclDate : 09. Feb 2025, 23:20:12
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vob9pi$rioh$1@dont-email.me>
References : 1 2 3
User-Agent : Mozilla Thunderbird
On 09/02/2025 18:19, bohagan wrote:
On Sun, 9 Feb 2025 16:31:19 +0000, Alan Grunwald wrote:
>
I've just downloaded from
https://chiselapp.com/user/bohagan/repository/TCLTLS/uv/tcltls-2.0b1.tar.gz
>
After
>
../configure --prefix=/opt/tcl9.0.1 -with-tcl=/opt/tcl9.0.1/opt
>
make eventually executes this line
>
gcc -DPACKAGE_NAME=\"tls\" -DPACKAGE_TARNAME=\"tls\"
-DPACKAGE_VERSION=\"2.0b1\" -DPACKAGE_STRING=\"tls\ 2.0b1\"
-DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DBUILD_tls=/\*\*/
-DHAVE_STDIO_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_SYS_TYPES_H=1 -DHAVE_UNISTD_H=1 -DSTDC_HEADERS=1
-DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1
-DUSE_TCL_STUBS=1 -DUSE_TCLOO_STUBS=1 -DMODULE_SCOPE=extern\
__attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DHAVE_HIDDEN=1
-DHAVE_CAST_TO_UNION=1 -DHAVE_STDBOOL_H=1 -DTCL_WIDE_INT_IS_LONG=1
-DTCL_CFG_OPTIMIZED=1 -DUSE_TCL_STUBS=1 -DNO_SSL3=1 -D_FORTIFY_SOURCE=2
-fstack-protector-all -fno-strict-overflow -Wno-deprecated-declarations
-I/usr/local/include -I"/opt/tcl9.0.1/include" -I. -O2
-fomit-frame-pointer -DNDEBUG -Wall -fPIC -pipe -O2 -fomit-frame-pointer
-DNDEBUG -Wall -fPIC -c `echo ./generic/tlsBIO.c` -o tlsBIO.o
>
which fails with a compilation error saying BIO_FLAGS_IN_EOF is
undefined.
>
I've had a bit of a poke around but am mystified by this error. As far
as I can make out, tlsBIO.c includes <openssl/bio.h>, which defines
BIO_FLAGS_IN_EOF, so I am thoroughly confused.
>
I can't guarantee that I don't have another SSL package installed which
might be getting in the way. How can I check, or what else might be
causing my problem? More to the point, what can I do to fix it?
>
Alan
This is one of the not advertised things OpenSSl is famous for leaving
out of its documentation. Yes it's in the openssl/bio.h file. So it's
likely you have more than one version installed. Some OS/platforms
default to LibreSSL or maybe you also have a much older version of
OpenSSL. If you have pkgconfig on your system, that will define which
version gets used.
When you run the configure script, it should output where it found the
OpenSSL header files. The solution is to use the --with-openssl-libdir
and --with-openssl-includedir options to force it to find the right
version. Look at the README.txt file for more info.
Thanks for the quick response. Sadly it doesn't help me all that much.
If I try
./configure --prefix=/opt/tcl9.0.1 --with-tcl=/opt/tcl9.0.1/lib --with-openssl-libdir=/usr/local/bin/ --with-openssl-includedir=/usr/local/include/openssl/
the last few lines output to the console are
checking for OpenSSL directory...
checking for OpenSSL include directory... /usr/local/include/openssl/
checking for ssl.h... no
configure: error: Unable to locate ssl.h
which is very strange, since /usr/local/include/openssl/ssl.h certainly exists.
(If I leave out the --with-openssl-xxx flags, then this section of the console output doesn't mention ssl.h, and looks like this
checking for OpenSSL directory...
checking for OpenSSL include directory...
checking for OpenSSL lib directory...
I'm ashamed to notice that I didn't say originally that I'm running Linux Mint 21.3 with a homebrew Tcl9.0.1
I am currently running tcltls 1.7.23 built from
https://www.tcl3d.org/bawt/download/InputLibs/tcltls-1.7.23.7z and configured using the configure command line I posted originally (although starting ./configure rather than ".." as mis-typed).
Alan