2012-09-06 18 views
6

Sto cercando di inviare posta con lo smtp di gmail in pharo con zodiac in macchina CentOS. Sto ricevendo il seguente errore.Posta zodiacale che invia Pharo smalltalk

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

avevo scaricato e mettere il "so.SqueakSSL" nella directory macchina virtuale insieme ad altri file .so e usato "chmod 777 so.SqueakSSL". Ma ancora mostrando l'errore. Mi manca qualcosa? Il codice di lavoro è:

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. 
+0

Quale VM? Assicurati di utilizzare le ultime versioni dal nostro [build server] (https://ci.lille.inria.fr/pharo/view/Cog/job/Cog-VM/) – camillobruni

+0

Si prega di notare che questo codice e le risposte si riferiscono a una versione pharo piuttosto vecchia, e non si applica più alle versioni correnti. –

risposta

3

C'è plug-in SSL mancante, perché non è incluso in precedenza Pharos. Ma se si scarica il one-click per Pharo 1.4 Summer Release o successivo, dovrebbe funzionare immediatamente, poiché il plug-in si trova nel posto giusto, impostato correttamente e per tutte e tre le piattaforme (Linux, OS/X e Windows).

+1

esattamente, usiamo il plugin SSL quotidianamente quando interagiamo con il tracker di problemi di google da uno script Pharo – camillobruni

0

Se siete su Linux si può semplicemente creare un link simbolico dal file so.SqueakSSL sulla directory VM per uno di nome SqueakSSL

esempio

ln -s so.SqueakSSL SqueakSSL

e la VM, la troverà.

3

Pochi giorni fa ho avuto un problema simile in un ScientificLinux, che è molto simile a CentOS. Il problema era che le librerie erano richieste libssl.so.0.9.8 e libcrypto.so.0.9.8 ma esistevano come libssl.so.0.9.8e e 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 

La soluzione era quella di creare due collegamenti simbolici:

# 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) 
Problemi correlati