简体   繁体   中英

Squeak SMTPs on Linux

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)

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

Note the that the man page 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/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM