Based on the error messages you reported, it looks like you already have the needed libraries - in particular, libcrypto
(which is provided by the libssl3
package, with development headers and library links provided by libssl-dev
). However your version of libcrypto
apparently does not contain the CRYPTO_num_locks
symbol.
In general, these kind of API incompatibilities indicate that the libraries are either too old or too new for the software you are trying to build. In this case, the most recent source I could locate for TN5250 is this sourceforge project, in which the majority of the files appear to date from 2008. Meanwhile, the OpenSSL CHANGES.md file describes CRYPTO_num_locks
as a "new function" in the description of Changes between 0.9.3a and 0.9.4 [09 Aug 1999]. I can't find any mention of when it was removed - I suspect it was as part of the migration to platform-specific "native" thread implementations (Windows threads / pthreads)1.
Interestingly, while the configure script checks for CRYPTO_num_locks
, I can't find anywhere that it is actually used in the source code. However it certainly uses SSLv2_client_method
, which was removed in OpenSSL 1.1.02.
If you don't require SSL support, then it looks like you can straightforwardly configure and build TN5250 without it3:
./configure --with-ssl=no
make
If you do find yourself needing an SSL-enabled telnet client in 2024, then you should probably be using SSH instead - if you are required to use the TN5250 client, you could consider tunnelling a telnet over SSH.
see Changes between 1.0.2h and 1.1.0 [25 Aug 2016]
see SSLv23_client_method - HISTORY
at least, that works on my Ubuntu 22.04 VM.