首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux上的Squeak SMTP

Linux上的Squeak SMTP
EN

Stack Overflow用户
提问于 2016-06-27 08:41:10
回答 1查看 117关注 0票数 2

我使用Squeak 5类SecureSMTPClient通过SSL/TLS发送电子邮件。

它在我的Windows机器上运行得很好(感谢that question的答案)。

但是,在Linux上我得到:

代码语言:javascript
复制
Error: primitiveSSLCreate failed

它在控制台中打印(但仅在图像第一次尝试发送邮件时):

代码语言:javascript
复制
# ioLoadModule(/home/squeak5vm/SqueakSSL):
  /home/squeak5vm/SqueakSSL: undefined symbol: clock_gettime

Squeak“原语”是与平台和库对话的函数。我的猜测是,这个Linux并不提供Squeak所期望的某些SSL/TLS库的某些版本。但是Squeak到底期望什么呢?

其他信息:

ldd /home/squeak5vm/SqueakSSL的输出是:

代码语言:javascript
复制
linux-gate.so.1 =>  (0xb7757000)
libc.so.6 => /lib32/libc.so.6 (0xb7392000)
/lib/ld-linux.so.2 (0xb7758000)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-27 20:20:15

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

注意man页面上写的

代码语言:javascript
复制
 Link with -lrt (only for glibc versions before 2.17).

显然,您的SqueakSSL二进制文件是在一个系统上编译的,比glibc2.17还要晚。

以下是一些选择:

  1. 尝试使用来自https://github.com/squeak-smalltalk/squeakssl/releases的SqueakSSL二进制文件,该二进制文件将静态地链接到LibreSSL。注:它们可能已经过时几个星期了。
  2. 查看是否可以在glibc >= 2.17中使用更新的Linux版本
  3. 例如,尝试类似于重新链接或预加载(参见How to relink existing shared library with extra object file)的内容。 LD_PRELOAD=/usr/lib32/librt.so /path/to/squeak

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38049364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档