我正在使用 Squeak 5 类 SecureSMTPClient 通过 SSL/TLS 发送电子邮件。
它在我的 Windows 机器上运行良好(感谢答案那个问题 https://stackoverflow.com/questions/37619992/squeak-securesmtpclient-to-send-html-email/37628297).
然而,在 Linux 上我得到:
Error: primitiveSSLCreate failed
它在控制台中打印(但仅在图像第一次尝试发送邮件时):
# ioLoadModule(/home/squeak5vm/SqueakSSL):
/home/squeak5vm/SqueakSSL: undefined symbol: clock_gettime
Squeak“原语”是与平台和库对话的函数。我的猜测是,这个 Linux 没有提供 Squeak 期望的某些 SSL/TLS 库的某些版本。但到底是什么does吱吱期待吗?
附加信息:
的输出ldd /home/squeak5vm/SqueakSSL
is:
linux-gate.so.1 => (0xb7757000)
libc.so.6 => /lib32/libc.so.6 (0xb7392000)
/lib/ld-linux.so.2 (0xb7758000)
您正在使用的 SqueakSSL 插件版本是针对 OpenSSL 编译的,而 OpenSSL 又需要clock_gettime
.
请注意,man
页面说
Link with -lrt (only for glibc versions before 2.17).
显然,您的 SqueakSSL 二进制文件是在 glibc 2.17 之后的系统上编译的。
以下是一些选项:
- 尝试使用 SqueakSSL 二进制文件https://github.com/squeak-smalltalk/squeakssl/releases https://github.com/squeak-smalltalk/squeakssl/releases与 LibreSSL 静态链接。注意:它们可能已经过时几周了。
- 查看是否可以使用 glibc >= 2.17 的更新版 Linux
-
尝试重新链接或预加载之类的操作(请参阅如何使用额外的目标文件重新链接现有共享库 https://stackoverflow.com/questions/2616637/how-to-relink-existing-shared-library-with-extra-object-file), 例如
LD_PRELOAD=/usr/lib32/librt.so /path/to/squeak
我们希望尽快解决这个问题。也许您想在以下位置打开问题https://github.com/OpenSmalltalk/ https://github.com/OpenSmalltalk/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)