Reputation: 443
I am trying to send mail with the gmail smtp in pharo with zodiac in CentOS machine. I am receiving the following error.
"SSL/TLS plugin initialization failed. VM missing plugin? "
I had downloaded and put the "so.SqueakSSL" in the virtual machine directory along with other .so files and used "chmod 777 so.SqueakSSL" . But still showing the error.Am I missing something ? The workspace code is:
Gofer it
squeaksource: 'Zodiac';
package: 'Zodiac-Core';
package: 'Zodiac-Tests';
package: 'Zodiac-Extra';
load.
"Load extra Zinc support for Zodiac"
Gofer it
squeaksource: 'ZincHTTPComponents';
package: 'Zinc-Zodiac';
load.
| mailMessage |
mailMessage := MailMessage empty.
mailMessage setField: 'subject' toString: 'ZdcSecureSMTPClient Test'.
mailMessage body: (MIMEDocument
contentType: 'text/plain'
content: 'This is test from Pharo Smalltalk').
ZdcSecureSMTPClient
sendUsingGMailAccount: '[email protected]'
password: 'mypassword'
to: '[email protected]'
message: mailMessage.
Upvotes: 6
Views: 925
Reputation: 51
A few days ago I had a similar problem in a ScientificLinux, which is very similar to CentOS. The problem was that the libraries were required libssl.so.0.9.8 and libcrypto.so.0.9.8 but existed as libssl.so.0.9.8e and libcrypto.so.0.9.8e.
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
linux-gate.so.1 => (0x00bfb000)
libssl.so.0.9.8 => not found
libcrypto.so.0.9.8 => not found
libc.so.6 => /lib/libc.so.6 (0x006ce000)
/lib/ld-linux.so.2 (0x0055a000)
# ls /usr/lib/libssl.so.0.9.8* /usr/lib/libcrypto.so.0.9.8*
/usr/lib/libcrypto.so.0.9.8e /usr/lib/libssl.so.0.9.8e
The solution was to create two symbolic links:
# ln -s /usr/lib/libssl.so.0.9.8e /usr/lib/libssl.so.0.9.8
# ln -s /usr/lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0.9.8
# ldd /opt/smalltalk/pharovm14A/libSqueakSSL.so
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libcrypto.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
/opt/smalltalk/pharovm14A/libSqueakSSL.so: /usr/lib/libssl.so.0.9.8: no version information available (required by /opt/smalltalk/pharovm14A/libSqueakSSL.so)
linux-gate.so.1 => (0x0062d000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0x008a8000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x00a3f000)
libgssapi_krb5.so.2 => /lib/libgssapi_krb5.so.2 (0x0025f000)
libkrb5.so.3 => /lib/libkrb5.so.3 (0x0029e000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0x00eee000)
libk5crypto.so.3 => /lib/libk5crypto.so.3 (0x00374000)
libresolv.so.2 => /lib/libresolv.so.2 (0x00e41000)
libdl.so.2 => /lib/libdl.so.2 (0x00e0c000)
libz.so.1 => /lib/libz.so.1 (0x00477000)
/lib/ld-linux.so.2 (0x007f9000)
libkrb5support.so.0 => /lib/libkrb5support.so.0 (0x003a0000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0x003ab000)
libpthread.so.0 => /lib/libpthread.so.0 (0x005fd000)
libselinux.so.1 => /lib/libselinux.so.1 (0x009b4000)
Upvotes: 3
Reputation: 166
If you are on Linux you can just make a symbolic link from the so.SqueakSSL file on the VM directory to one named SqueakSSL
e.g.
ln -s so.SqueakSSL SqueakSSL
and the VM will find it.
Upvotes: 0
Reputation: 3964
There is SSL plugin missing, because it is not included in earlier Pharos. But if you download the one-click for Pharo 1.4 Summer Release or later, it should work out of the box, because the plugin is on right place, correctly set and for all three platforms (Linux, OS/X and Windows).
Upvotes: 3