Squeak SMTPs on Linux

眉间皱痕 提交于 2019-12-06 10:00:14

问题


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

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

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

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?


Additional infos:

The output of ldd /home/squeak5vm/SqueakSSL is:

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

回答1:


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

Note the that the manpage says

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

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

Here are some options:

  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

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



来源:https://stackoverflow.com/questions/38049364/squeak-smtps-on-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!