编译 TN 5250 程序

编译 TN 5250 程序

我担任 IBM AS/400 顾问已有近 20 年。过去我曾使用 TN5250 连接到 400。最近我收到了很多可能提供远程咨询服务的电子邮件。我尝试配置该程序并看到以下错误消息:

checking for OpenSSL headers... -I/usr/include
checking for CRYPTO_num_locks in -lcrypto... no
configure: error: ** Unable to find OpenSSL libraries!

我正在使用 Ubuntu 23.10。如果我需要该程序,如何安装这些库?

答案1

根据您报告的错误消息,您似乎已经拥有所需的库 - 特别是libcrypto(由软件包提供libssl3,并由提供开发标头和库链接libssl-dev)。但是您的版本libcrypto显然不包含CRYPTO_num_locks符号。

一般来说,这类 API 不兼容表明库对于您要构建的软件来说要么太旧要么太新。在这种情况下,我能找到的 TN5250 的最新来源是这个sourceforge 项目其中大多数文件似乎可以追溯到 2008 年。与此同时,OpenSSL 更改.md文件描述CRYPTO_num_locks“新功能”在描述中0.9.3a 和 0.9.4 之间的变化 [1999 年 8 月 9 日]。我找不到任何关于它何时被删除的提及 - 我怀疑它是作为迁移到平台特定的“本机”线程实现(Windows 线程/ pthreads)的一部分1

有趣的是,虽然 configure 脚本会检查CRYPTO_num_locks,但我在源代码中找不到它实际被使用的地方。但它肯定使用了SSLv2_client_method,而它在 OpenSSL 1.1.0 2中已被删除。

如果您不需要 SSL 支持,那么看起来您可以在没有 SSL 支持的情况下直接配置和构建 TN5250 3

./configure --with-ssl=no
make 

如果你发现自己在 2024 年需要一个支持 SSL 的 telnet 客户端,那么你可能应该使用 SSH - 如果你需要使用 TN5250 客户端,你可以考虑建立 telnet 隧道超过SSH。


  1. 1.0.2h 和 1.1.0 之间的变化 [2016 年 8 月 25 日]

  2. SSLv23_client_method - 历史记录

  3. 至少,它可以在我的 Ubuntu 22.04 VM 上运行。

相关内容