在Linux上尖叫SMTP [英] Squeak SMTPs on Linux

查看:132
本文介绍了在Linux上尖叫SMTP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am using the Squeak 5 class SecureSMTPClient to send e-Mails over SSL/TLS.

它在我的Windows机器上正常工作(感谢对该问题的回答).

It works fine on my Windows machine (thanks to the answer to that question).

但是,在Linux上,我得到了:

However, on Linux i get:

Error: primitiveSSLCreate failed

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

And it prints in a console (but only the first time the image attempts to send the mail):

# ioLoadModule(/home/squeak5vm/SqueakSSL):
  /home/squeak5vm/SqueakSSL: undefined symbol: clock_gettime

吱吱声基元"是与平台和库对话的函数.我的猜测是,此Linux没有提供Squeak期望的某些SSL/TLS库的某些版本.但是, 吱吱声到底是什么期望?

Squeak "primitives" are functions that talk to the platform and libraries. My guess is, that this Linux does not provide some version of some SSL/TLS library that Squeak expects. But what exactly does Squeak expect?

其他信息:

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

linux-gate.so.1 =>  (0xb7757000)
libc.so.6 => /lib32/libc.so.6 (0xb7392000)
/lib/ld-linux.so.2 (0xb7758000)

推荐答案

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

The version of the SqueakSSL plugin you are using is compiled against OpenSSL, which in turn required clock_gettime.

请注意man页面上显示的内容

Note the that the manpage says

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

显然,您的SqueakSSL二进制文件是在glibc 2.17以后的系统上编译的.

Apparently, your SqueakSSL binary was compiled on a system later than glibc 2.17.

以下是一些选择:

  1. 尝试从 https://github.com/squeak-smalltalk/squeakssl/releases中的SqueakSSL二进制文件与LibreSSL静态链接.注意:它们可能已经过时了几周.
  2. 查看是否可以在glibc> = 2.17
  3. 中使用更新的Linux版本
  4. 尝试重新链接或预加载之类的操作(请参阅

  1. Try the SqueakSSL binary from https://github.com/squeak-smalltalk/squeakssl/releases which are statically linked against LibreSSL. Note: They might be some weeks out of date.
  2. See whether you could use an updated Linux version with glibc >= 2.17
  3. Try something like re-linking or pre-loading (see How to relink existing shared library with extra object file), for example

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

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

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

We hope to sort this out soon-ish. Maybe you want to open an issue at https://github.com/OpenSmalltalk/

这篇关于在Linux上尖叫SMTP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆