6

CentOS マシンで zodiac を使用して pharo で gmail smtp を使用してメールを送信しようとしています。次のエラーが表示されます。

"SSL/TLS plugin initialization failed. VM missing plugin? " 

「so.SqueakSSL」をダウンロードして、他の .so ファイルと一緒に仮想マシン ディレクトリに配置し、「chmod 777 so.SqueakSSL」を使用しました。しかし、まだエラーが表示されています。ワークスペース コードは次のとおりです。

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: 'varunisacc@gmail.com' 
password: 'mypassword'
to: 'varunisacc@gmail.com' 
message: mailMessage.
4

3 に答える 3

3

以前の Pharos には含まれていないため、SSL プラグインがありません。しかし、Pharo 1.4 サマー リリース以降のワンクリックをダウンロードした場合、プラグインは適切な場所にあり、正しく設定されており、3 つのプラットフォーム (Linux、OS/X、および Windows) すべてに対応しているため、すぐに使用できるはずです。

于 2012-09-06T06:29:53.953 に答える
3

数日前、CentOS に非常によく似た ScientificLinux で同様の問題が発生しました。問題は、ライブラリが libssl.so.0.9.8 と libcrypto.so.0.9.8 を必要とするのに、libssl.so.0.9.8e と 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

解決策は、2 つのシンボリック リンクを作成することでした。

# 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)
于 2012-09-17T14:10:40.480 に答える
0

Linux を使用している場合は、VM ディレクトリの so.SqueakSSL ファイルから SqueakSSL という名前のファイルへのシンボリック リンクを作成できます。

例えば

ln -s so.SqueakSSL SqueakSSL

VMはそれを見つけます。

于 2012-09-13T20:17:54.083 に答える