在Linux上发出吱吱声SMTP

时间:2016-06-27 08:41:10

标签: linux ssl smtp smalltalk squeak

我正在使用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)

1 个答案:

答案 0 :(得分:4)

您正在使用的SqueakSSL插件的版本是针对OpenSSL编译的,OpenSSL又需要clock_gettime

请注意,man页面显示

 Link with -lrt (only for glibc versions before 2.17).

显然,你的SqueakSSL二进制文件是在比glibc 2.17晚的系统上编译的。

以下是一些选项:

  1. 尝试https://github.com/squeak-smalltalk/squeakssl/releases中与LibreSSL静态链接的SqueakSSL二进制文件。注意:它们可能会在几周内过时。
  2. 查看您是否可以使用glibc> = 2.17
  3. 的更新Linux版本
  4. 尝试重新关联或预加载(请参阅How to relink existing shared library with extra object file),例如

    LD_PRELOAD=/usr/lib32/librt.so /path/to/squeak

  5. 我们希望尽快解决这个问题。也许您想在https://github.com/OpenSmalltalk/

    打开一个问题