我正在使用Squeak 5类SecureSMTPClient通过SSL / TLS发送电子邮件。
它在我的Windows机器上运行正常(感谢that question的答案)。
然而,在Linux上我得到:
Error: primitiveSSLCreate failed
它在控制台中打印(但仅在图像第一次尝试发送邮件时):
# ioLoadModule(/home/squeak5vm/SqueakSSL):
/home/squeak5vm/SqueakSSL: undefined symbol: clock_gettime
吱吱“原语”是与平台和库交谈的功能。我的猜测是,这个Linux没有提供Squeak期望的某些版本的某些SSL / TLS库。但究竟做什么吱吱呀?
其他信息:
ldd /home/squeak5vm/SqueakSSL
的输出是:
linux-gate.so.1 => (0xb7757000)
libc.so.6 => /lib32/libc.so.6 (0xb7392000)
/lib/ld-linux.so.2 (0xb7758000)
答案 0 :(得分:4)
您正在使用的SqueakSSL插件的版本是针对OpenSSL编译的,OpenSSL又需要clock_gettime
。
请注意,man
页面显示
Link with -lrt (only for glibc versions before 2.17).
显然,你的SqueakSSL二进制文件是在比glibc 2.17晚的系统上编译的。
以下是一些选项:
尝试重新关联或预加载(请参阅How to relink existing shared library with extra object file),例如
LD_PRELOAD=/usr/lib32/librt.so /path/to/squeak
我们希望尽快解决这个问题。也许您想在https://github.com/OpenSmalltalk/
打开一个问题