SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
Hello,

I have this error when trying to use the network:

"SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries
missing ?)"

What library could be missing on my operating system?

I appears after an update of my operating system I think.

I am on Archlinux.

Julien


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Sven Van Caekenberghe-2
What does the following return for you ?

$ ldd bin/pharo-vm/libSqueakSSL.so
        linux-gate.so.1 =>  (0xf779e000)
        libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7703000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf754d000)
        libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7360000)
        /lib/ld-linux.so.2 (0xf777c000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf735b000)

Each dependency should be satisfied.

> On 8 May 2017, at 12:43, Julien Delplanque <[hidden email]> wrote:
>
> Hello,
>
> I have this error when trying to use the network:
>
> "SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries missing ?)"
>
> What library could be missing on my operating system?
>
> I appears after an update of my operating system I think.
>
> I am on Archlinux.
>
> Julien
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
Thank you,

Apparently I have one library missing:

ldd /usr/share/pharo/vm/libSqueakSSL.so
     linux-gate.so.1 (0xf77bb000)
     libssl.so.1.0.0 => not found
     libc.so.6 => /usr/lib32/libc.so.6 (0xf75ab000)
     /usr/lib/ld-linux.so.2 (0x565a9000)

I'll try to fix this. But I guess other people on Arch will encounter
this problem.

Julien


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
In reply to this post by Sven Van Caekenberghe-2
Ok, I installed the missing library:

yaourt -S lib32-openssl-1.0

now when I do:

ldd /usr/share/pharo/vm/libSqueakSSL.so

I get:

/usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version
`OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
     linux-gate.so.1 (0xf77f1000)
     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
     /usr/lib/ld-linux.so.2 (0x565de000)
     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)

So it is still not working, I still get the exception in Pharo. :-(

Julien


On 08/05/17 12:50, Sven Van Caekenberghe wrote:

> What does the following return for you ?
>
> $ ldd bin/pharo-vm/libSqueakSSL.so
> linux-gate.so.1 =>  (0xf779e000)
> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7703000)
> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf754d000)
> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7360000)
> /lib/ld-linux.so.2 (0xf777c000)
> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf735b000)
>
> Each dependency should be satisfied.
>
>> On 8 May 2017, at 12:43, Julien Delplanque <[hidden email]> wrote:
>>
>> Hello,
>>
>> I have this error when trying to use the network:
>>
>> "SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries missing ?)"
>>
>> What library could be missing on my operating system?
>>
>> I appears after an update of my operating system I think.
>>
>> I am on Archlinux.
>>
>> Julien
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Sven Van Caekenberghe-2

> On 8 May 2017, at 13:17, Julien Delplanque <[hidden email]> wrote:
>
> Ok, I installed the missing library:
>
> yaourt -S lib32-openssl-1.0
>
> now when I do:
>
> ldd /usr/share/pharo/vm/libSqueakSSL.so
>
> I get:
>
> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>    linux-gate.so.1 (0xf77f1000)
>    libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>    libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>    libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>    /usr/lib/ld-linux.so.2 (0x565de000)
>    libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)

It gives you an error (first line), right ?

> So it is still not working, I still get the exception in Pharo. :-(
>
> Julien
>
>
> On 08/05/17 12:50, Sven Van Caekenberghe wrote:
>> What does the following return for you ?
>>
>> $ ldd bin/pharo-vm/libSqueakSSL.so
>> linux-gate.so.1 =>  (0xf779e000)
>> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7703000)
>> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf754d000)
>> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7360000)
>> /lib/ld-linux.so.2 (0xf777c000)
>> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf735b000)
>>
>> Each dependency should be satisfied.
>>
>>> On 8 May 2017, at 12:43, Julien Delplanque <[hidden email]> wrote:
>>>
>>> Hello,
>>>
>>> I have this error when trying to use the network:
>>>
>>> "SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries missing ?)"
>>>
>>> What library could be missing on my operating system?
>>>
>>> I appears after an update of my operating system I think.
>>>
>>> I am on Archlinux.
>>>
>>> Julien
>>>
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
Yes, it does but the file is present and normally in the right version.

I installed it using the package manager.

Julien


On 08/05/17 13:21, Sven Van Caekenberghe wrote:

>> On 8 May 2017, at 13:17, Julien Delplanque <[hidden email]> wrote:
>>
>> Ok, I installed the missing library:
>>
>> yaourt -S lib32-openssl-1.0
>>
>> now when I do:
>>
>> ldd /usr/share/pharo/vm/libSqueakSSL.so
>>
>> I get:
>>
>> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>>     linux-gate.so.1 (0xf77f1000)
>>     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>>     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>>     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>>     /usr/lib/ld-linux.so.2 (0x565de000)
>>     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
> It gives you an error (first line), right ?
>
>> So it is still not working, I still get the exception in Pharo. :-(
>>
>> Julien
>>
>>
>> On 08/05/17 12:50, Sven Van Caekenberghe wrote:
>>> What does the following return for you ?
>>>
>>> $ ldd bin/pharo-vm/libSqueakSSL.so
>>> linux-gate.so.1 =>  (0xf779e000)
>>> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7703000)
>>> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf754d000)
>>> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7360000)
>>> /lib/ld-linux.so.2 (0xf777c000)
>>> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf735b000)
>>>
>>> Each dependency should be satisfied.
>>>
>>>> On 8 May 2017, at 12:43, Julien Delplanque <[hidden email]> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I have this error when trying to use the network:
>>>>
>>>> "SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries missing ?)"
>>>>
>>>> What library could be missing on my operating system?
>>>>
>>>> I appears after an update of my operating system I think.
>>>>
>>>> I am on Archlinux.
>>>>
>>>> Julien
>>>>
>>>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Sven Van Caekenberghe-2
Well it seems to be a problem of your Linux distribution, maybe others can help you further.

> On 8 May 2017, at 13:24, Julien Delplanque <[hidden email]> wrote:
>
> Yes, it does but the file is present and normally in the right version.
>
> I installed it using the package manager.
>
> Julien
>
>
> On 08/05/17 13:21, Sven Van Caekenberghe wrote:
>>> On 8 May 2017, at 13:17, Julien Delplanque <[hidden email]> wrote:
>>>
>>> Ok, I installed the missing library:
>>>
>>> yaourt -S lib32-openssl-1.0
>>>
>>> now when I do:
>>>
>>> ldd /usr/share/pharo/vm/libSqueakSSL.so
>>>
>>> I get:
>>>
>>> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>>>    linux-gate.so.1 (0xf77f1000)
>>>    libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>>>    libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>>>    libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>>>    /usr/lib/ld-linux.so.2 (0x565de000)
>>>    libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>> It gives you an error (first line), right ?
>>
>>> So it is still not working, I still get the exception in Pharo. :-(
>>>
>>> Julien
>>>
>>>
>>> On 08/05/17 12:50, Sven Van Caekenberghe wrote:
>>>> What does the following return for you ?
>>>>
>>>> $ ldd bin/pharo-vm/libSqueakSSL.so
>>>> linux-gate.so.1 =>  (0xf779e000)
>>>> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7703000)
>>>> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf754d000)
>>>> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf7360000)
>>>> /lib/ld-linux.so.2 (0xf777c000)
>>>> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf735b000)
>>>>
>>>> Each dependency should be satisfied.
>>>>
>>>>> On 8 May 2017, at 12:43, Julien Delplanque <[hidden email]> wrote:
>>>>>
>>>>> Hello,
>>>>>
>>>>> I have this error when trying to use the network:
>>>>>
>>>>> "SSL/TLS plugin initialization failed (VM plugin missing ? OS libraries missing ?)"
>>>>>
>>>>> What library could be missing on my operating system?
>>>>>
>>>>> I appears after an update of my operating system I think.
>>>>>
>>>>> I am on Archlinux.
>>>>>
>>>>> Julien
>>>>>
>>>>>
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Pharo Smalltalk Users mailing list
In reply to this post by Julien Delplanque
Hello, 
I have the same problem on Ubuntu 16.04 and Fedora 25...

Any hints? 
Marc


Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
Ok, I installed the missing library:

yaourt -S lib32-openssl-1.0

now when I do:

ldd /usr/share/pharo/vm/libSqueakSSL.so

I get:

/usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
    linux-gate.so.1 (0xf77f1000)
    libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
    libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
    libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
    /usr/lib/ld-linux.so.2 (0x565de000)
    libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)

So it is still not working, I still get the exception in Pharo. :-(

Julien
 
Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Sven Van Caekenberghe-2
Just to be sure, I tried from scratch:

$ cat /etc/issue
Ubuntu 16.04.2 LTS

$ uname -a
Linux audio359 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ curl get.pharo.org/60+vm | bash
...

$ ./pharo Pharo.image printVersion
[version] 6.0 #60482

$ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
'<!DOCTYPE HTML>
<html>
    <head>
...
</html>'

$ ldd pharo-vm/lib/pharo/5.0-201705022326/SqueakSSL.so
        linux-gate.so.1 =>  (0xf773a000)
        libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf751c000)
        libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf74b2000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
        /lib/ld-linux.so.2 (0xf7718000)

This is on a 64-bit Ubuntu with 32-bit libs installed (and that worked before).

Something must be different in your case.

> On 8 May 2017, at 13:36, Marc Hanisch via Pharo-users <[hidden email]> wrote:
>
>
> From: Marc Hanisch <[hidden email]>
> Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
> Date: 8 May 2017 at 13:36:12 GMT+2
> To: Any question about pharo is welcome <[hidden email]>
>
>
> Hello,
> I have the same problem on Ubuntu 16.04 and Fedora 25...
>
> Any hints?
> Marc
>
>
> Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
> Ok, I installed the missing library:
>
> yaourt -S lib32-openssl-1.0
>
> now when I do:
>
> ldd /usr/share/pharo/vm/libSqueakSSL.so
>
> I get:
>
> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>     linux-gate.so.1 (0xf77f1000)
>     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>     /usr/lib/ld-linux.so.2 (0x565de000)
>     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>
> So it is still not working, I still get the exception in Pharo. :-(
>
> Julien
>  
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Ben Coman
In reply to this post by Pharo Smalltalk Users mailing list
> Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
>
> Ok, I installed the missing library:
>
> yaourt -S lib32-openssl-1.0
>
> now when I do:
>
> ldd /usr/share/pharo/vm/libSqueakSSL.so
>
> I get:
>
> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>     linux-gate.so.1 (0xf77f1000)
>     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>     /usr/lib/ld-linux.so.2 (0x565de000)
>     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>
> So it is still not working, I still get the exception in Pharo. :-(
>
> Julien
>
>
>

On Mon, May 8, 2017 at 7:36 PM, Marc Hanisch via Pharo-users
<[hidden email]> wrote:

>
>
> ---------- Forwarded message ----------
> From: Marc Hanisch <[hidden email]>
> To: Any question about pharo is welcome <[hidden email]>
> Cc:
> Bcc:
> Date: Mon, 8 May 2017 13:36:12 +0200
> Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
> Hello,
> I have the same problem on Ubuntu 16.04 and Fedora 25...
>
> Any hints?

Just a random skim of the web for similar errors...

Install lib32-openssl-1.0-compat or similar...
https://forum.manjaro.org/t/unstable-update-2017-05-02-plasma5-gnome-virtualbox-openssl/22921/30

Maybe something to do with systemvariables and the installation of two
versions of the libraries (32 & 64 bit??)
https://ubuntuforums.org/showthread.php?t=1905963

Try LD_PRELOAD
https://superuser.com/questions/735736/no-version-information-available-required-by-usr-bin-ssh

Use your package manager to check if the installed version is really
1.0.0, or instead 1.0.x.

What does `ldd /usr/bin/openssl` report (or equivalent lib32 location)
https://askubuntu.com/questions/830466/libcrypto-so-1-0-0-no-version-information-available-required-by-ssh

Is libcrypto missing or a different version?

cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
In reply to this post by Sven Van Caekenberghe-2
Hello,

I did the same thing as you and it works.

When I do:

./pharo --version

I get:

5.0-201705022326  Tue May  2 23:46:52 UTC 2017 gcc 4.6.3 [Production
Spur ITHB VM]
CoInterpreter VMMaker.oscog-eem.2203 uuid:
12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid:
12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
VM: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Date: Tue May 2 16:26:41 2017 -0700 $
Plugins: 201705022326
https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Linux testing-gce-7a7e75c9-f535-4934-bad2-d5fb6fd60cee
3.13.0-103-generic #150~precise1-Ubuntu SMP Thu Nov 24 11:05:34 UTC 2016
i686 i686 i386 GNU/Linux
plugin path: /tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326 [default:
/tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326/]

And when I check the version of the VM currently installed on my system:

pharo-spur

I get:

5.0 #1 Tue Jun 21 12:37:33 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
CoInterpreter VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid:
16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
StackToRegisterMappingCogit VMMaker.oscog-HolgerHansPeterFreyther.1880
uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
https://github.com/pharo-project/pharo-vm.git Commit:
9638b0190a9fc01479bfb752becd96edfd253c8c Date: 2016-06-21 12:29:26 +0200
By: GitHub <[hidden email]> Jenkins build #594
Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45
UTC 2012 i686 i686 i386 GNU/Linux
plugin path: /usr/share/pharo/spur/ [default: /usr/share/pharo/spur/]

So apparently those are not the same VMs.

Nevertheless, when I open Pharo 6 image that I got using your curl
command, it
using the network works with  both VM.

So, I tried to load a Pharo 5 image with the VM:

curl get.pharo.org/50+vm | bash

And when I do:

./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"

I get:

ioLoadModule(/tmp/pharo2/pharo-vm/libSqueakSSL.so):
   /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found
(required by /tmp/pharo2/pharo-vm/libSqueakSSL.so)
ZdcPluginMissing: SSL/TLS plugin initailization failed (VM plugin
missing ? OS libraries missing ?)
[ :exception | ZdcPluginMissing signal ] in
ZdcPluginSSLSession>>initialize in Block: [ :exception |
ZdcPluginMissing signal ]
BlockClosure>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
PrimitiveFailed(Exception)>>signal
PrimitiveFailed class(SelectorException class)>>signalFor:
ZdcPluginSSLSession(Object)>>primitiveFailed:
ZdcPluginSSLSession(Object)>>primitiveFailed
ZdcPluginSSLSession>>primitiveSSLCreate
[ handle := self primitiveSSLCreate ] in ZdcPluginSSLSession>>initialize
in Block: [ handle := self primitiveSSLCreate ]
BlockClosure>>on:do:
ZdcPluginSSLSession>>initialize
ZdcPluginSSLSession class(Behavior)>>new
ZdcSecureSocketStream>>sslSession
ZdcSecureSocketStream>>connect
ZnClient>>setupTLSTo:
ZnClient>>newConnectionTo:
ZnClient>>getConnectionAndExecute
ZnClient>>executeWithRedirectsRemaining:
[ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in
ZnClient>>executeWithRetriesRemaining: in Block: [ self
executeWithRedirectsRemaining: self maxNumb...etc...
BlockClosure>>on:do:
ZnClient>>executeWithRetriesRemaining:
[ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self
executeWithRetriesRemaining: self numberOfRetries ]
     on: Error
     do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [
self executeWithRetriesRemaining: self numberOfR...etc...
BlockClosure>>on:do:
[ [ self executeWithRetriesRemaining: self numberOfRetries ]
     on: Error
     do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [
[ self executeWithRetriesRemaining: self numberO...etc...
[ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
[ p psValueAt: index put: anObject.
aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in
Block: [ p psValueAt: index put: anObject....
BlockClosure>>ensure:
ZnConnectionTimeout(DynamicVariable)>>value:during:
ZnConnectionTimeout class(DynamicVariable class)>>value:during:

So I guess it concerns Pharo 5 images/VM?

Julien


On 08/05/17 13:49, Sven Van Caekenberghe wrote:

> Just to be sure, I tried from scratch:
>
> $ cat /etc/issue
> Ubuntu 16.04.2 LTS
>
> $ uname -a
> Linux audio359 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>
> $ curl get.pharo.org/60+vm | bash
> ...
>
> $ ./pharo Pharo.image printVersion
> [version] 6.0 #60482
>
> $ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
> '<!DOCTYPE HTML>
> <html>
>      <head>
> ...
> </html>'
>
> $ ldd pharo-vm/lib/pharo/5.0-201705022326/SqueakSSL.so
> linux-gate.so.1 =>  (0xf773a000)
> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf751c000)
> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf74b2000)
> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
> /lib/ld-linux.so.2 (0xf7718000)
>
> This is on a 64-bit Ubuntu with 32-bit libs installed (and that worked before).
>
> Something must be different in your case.
>
>> On 8 May 2017, at 13:36, Marc Hanisch via Pharo-users <[hidden email]> wrote:
>>
>>
>> From: Marc Hanisch <[hidden email]>
>> Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
>> Date: 8 May 2017 at 13:36:12 GMT+2
>> To: Any question about pharo is welcome <[hidden email]>
>>
>>
>> Hello,
>> I have the same problem on Ubuntu 16.04 and Fedora 25...
>>
>> Any hints?
>> Marc
>>
>>
>> Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
>> Ok, I installed the missing library:
>>
>> yaourt -S lib32-openssl-1.0
>>
>> now when I do:
>>
>> ldd /usr/share/pharo/vm/libSqueakSSL.so
>>
>> I get:
>>
>> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>>      linux-gate.so.1 (0xf77f1000)
>>      libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>>      libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>>      libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>>      /usr/lib/ld-linux.so.2 (0x565de000)
>>      libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>>
>> So it is still not working, I still get the exception in Pharo. :-(
>>
>> Julien
>>  
>>
>>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Pharo Smalltalk Users mailing list
Sorry I had not yet the time to test your suggestions, but yes, I forgot to mention, that I also have this problems with Pharo 5!

Best regards,
Marc

2017-05-09 9:08 GMT+02:00 Julien Delplanque <[hidden email]>:
Hello,

I did the same thing as you and it works.

When I do:

./pharo --version

I get:

5.<a href="tel:0-201705022326" value="+49201705022326" target="_blank">0-201705022326  Tue May  2 23:46:52 UTC 2017 gcc 4.6.3 [Production Spur ITHB VM]
CoInterpreter VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
VM: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Tue May 2 16:26:41 2017 -0700 $
Plugins: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
Linux testing-gce-7a7e75c9-f535-4934-bad2-d5fb6fd60cee 3.13.0-103-generic #150~precise1-Ubuntu SMP Thu Nov 24 11:05:34 UTC 2016 i686 i686 i386 GNU/Linux
plugin path: /tmp/pharo/pharo-vm/lib/pharo/5.<a href="tel:0-201705022326" value="+49201705022326" target="_blank">0-201705022326 [default: /tmp/pharo/pharo-vm/lib/pharo/5.<a href="tel:0-201705022326" value="+49201705022326" target="_blank">0-201705022326/]

And when I check the version of the VM currently installed on my system:

pharo-spur

I get:

5.0 #1 Tue Jun 21 12:37:33 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
CoInterpreter VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
StackToRegisterMappingCogit VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
https://github.com/pharo-project/pharo-vm.git Commit: 9638b0190a9fc01479bfb752becd96edfd253c8c Date: 2016-06-21 12:29:26 +0200 By: GitHub <[hidden email]> Jenkins build #594
Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux
plugin path: /usr/share/pharo/spur/ [default: /usr/share/pharo/spur/]

So apparently those are not the same VMs.

Nevertheless, when I open Pharo 6 image that I got using your curl command, it
using the network works with  both VM.

So, I tried to load a Pharo 5 image with the VM:

curl get.pharo.org/50+vm | bash

And when I do:

./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"

I get:

ioLoadModule(/tmp/pharo2/pharo-vm/libSqueakSSL.so):
  /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /tmp/pharo2/pharo-vm/libSqueakSSL.so)
ZdcPluginMissing: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
[ :exception | ZdcPluginMissing signal ] in ZdcPluginSSLSession>>initialize in Block: [ :exception | ZdcPluginMissing signal ]
BlockClosure>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
PrimitiveFailed(Exception)>>signal
PrimitiveFailed class(SelectorException class)>>signalFor:
ZdcPluginSSLSession(Object)>>primitiveFailed:
ZdcPluginSSLSession(Object)>>primitiveFailed
ZdcPluginSSLSession>>primitiveSSLCreate
[ handle := self primitiveSSLCreate ] in ZdcPluginSSLSession>>initialize in Block: [ handle := self primitiveSSLCreate ]
BlockClosure>>on:do:
ZdcPluginSSLSession>>initialize
ZdcPluginSSLSession class(Behavior)>>new
ZdcSecureSocketStream>>sslSession
ZdcSecureSocketStream>>connect
ZnClient>>setupTLSTo:
ZnClient>>newConnectionTo:
ZnClient>>getConnectionAndExecute
ZnClient>>executeWithRedirectsRemaining:
[ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in ZnClient>>executeWithRetriesRemaining: in Block: [ self executeWithRedirectsRemaining: self maxNumb...etc...
BlockClosure>>on:do:
ZnClient>>executeWithRetriesRemaining:
[ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self executeWithRetriesRemaining: self numberOfRetries ]
    on: Error
    do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ self executeWithRetriesRemaining: self numberOfR...etc...
BlockClosure>>on:do:
[ [ self executeWithRetriesRemaining: self numberOfRetries ]
    on: Error
    do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ [ self executeWithRetriesRemaining: self numberO...etc...
[ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
[ p psValueAt: index put: anObject.
aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
BlockClosure>>ensure:
ZnConnectionTimeout(DynamicVariable)>>value:during:
ZnConnectionTimeout class(DynamicVariable class)>>value:during:

So I guess it concerns Pharo 5 images/VM?

Julien



On 08/05/17 13:49, Sven Van Caekenberghe wrote:
Just to be sure, I tried from scratch:

$ cat /etc/issue
Ubuntu 16.04.2 LTS

$ uname -a
Linux audio359 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ curl get.pharo.org/60+vm | bash
...

$ ./pharo Pharo.image printVersion
[version] 6.0 #60482

$ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
'<!DOCTYPE HTML>
<html>
     <head>
...
</html>'

$ ldd pharo-vm/lib/pharo/5.<a href="tel:0-201705022326" value="+49201705022326" target="_blank">0-201705022326/SqueakSSL.so
        linux-gate.so.1 =>  (0xf773a000)
        libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf751c000)
        libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf74b2000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
        /lib/ld-linux.so.2 (0xf7718000)

This is on a 64-bit Ubuntu with 32-bit libs installed (and that worked before).

Something must be different in your case.

On 8 May 2017, at 13:36, Marc Hanisch via Pharo-users <[hidden email]> wrote:


From: Marc Hanisch <[hidden email]>
Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
Date: 8 May 2017 at 13:36:12 GMT+2
To: Any question about pharo is welcome <[hidden email]>


Hello,
I have the same problem on Ubuntu 16.04 and Fedora 25...

Any hints?
Marc


Am <a href="tel:08.05.2017%2013" value="+49805201713" target="_blank">08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
Ok, I installed the missing library:

yaourt -S lib32-openssl-1.0

now when I do:

ldd /usr/share/pharo/vm/libSqueakSSL.so

I get:

/usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
     linux-gate.so.1 (0xf77f1000)
     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
     /usr/lib/ld-linux.so.2 (0x565de000)
     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)

So it is still not working, I still get the exception in Pharo. :-(

Julien
 





Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Sven Van Caekenberghe-2
In reply to this post by Julien Delplanque
For Pharo 5, on the same machine:

$ curl get.pharo.org/50+vm | bash
...

$ ./pharo --version
5.0 #1 Wed May  4 11:54:28 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
CoInterpreter VMMaker.oscog-eem.1855 uuid: d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
StackToRegisterMappingCogit VMMaker.oscog-eem.1855 uuid: d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
https://github.com/pharo-project/pharo-vm.git Commit: b8ec25a570d7539653e1d793e97609adb509aaed Date: 2016-05-04 11:14:22 +0200 By: Esteban Lorenzano <[hidden email]> Jenkins build #589
Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux

$ ./pharo Pharo.image printVersion
[version] 5.0 #50772
$ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
4149724864:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
ConnectionClosed: Connection closed while waiting for data.
...

This is normal, see https://pharo.fogbugz.com/f/cases/19864/Add-support-for-Server-Name-Indication-SNI-to-Zodiac-SSLPlugin which is integrated in 6 but not in 5.

Note that the error is different from yours (no linking error, a runtime error).

With other HTTPS sites, it still works on 5:

audio359@audio359:~/pharo-dev/pharo5$ ./pharo Pharo.image eval "ZnClient new get: 'https://audio359.eu'"
...

> On 9 May 2017, at 09:08, Julien Delplanque <[hidden email]> wrote:
>
> Hello,
>
> I did the same thing as you and it works.
>
> When I do:
>
> ./pharo --version
>
> I get:
>
> 5.0-201705022326  Tue May  2 23:46:52 UTC 2017 gcc 4.6.3 [Production Spur ITHB VM]
> CoInterpreter VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
> StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
> VM: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Tue May 2 16:26:41 2017 -0700 $
> Plugins: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
> Linux testing-gce-7a7e75c9-f535-4934-bad2-d5fb6fd60cee 3.13.0-103-generic #150~precise1-Ubuntu SMP Thu Nov 24 11:05:34 UTC 2016 i686 i686 i386 GNU/Linux
> plugin path: /tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326 [default: /tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326/]
>
> And when I check the version of the VM currently installed on my system:
>
> pharo-spur
>
> I get:
>
> 5.0 #1 Tue Jun 21 12:37:33 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
> CoInterpreter VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
> StackToRegisterMappingCogit VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
> https://github.com/pharo-project/pharo-vm.git Commit: 9638b0190a9fc01479bfb752becd96edfd253c8c Date: 2016-06-21 12:29:26 +0200 By: GitHub <[hidden email]> Jenkins build #594
> Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux
> plugin path: /usr/share/pharo/spur/ [default: /usr/share/pharo/spur/]
>
> So apparently those are not the same VMs.
>
> Nevertheless, when I open Pharo 6 image that I got using your curl command, it
> using the network works with  both VM.
>
> So, I tried to load a Pharo 5 image with the VM:
>
> curl get.pharo.org/50+vm | bash
>
> And when I do:
>
> ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
>
> I get:
>
> ioLoadModule(/tmp/pharo2/pharo-vm/libSqueakSSL.so):
>  /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /tmp/pharo2/pharo-vm/libSqueakSSL.so)
> ZdcPluginMissing: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
> [ :exception | ZdcPluginMissing signal ] in ZdcPluginSSLSession>>initialize in Block: [ :exception | ZdcPluginMissing signal ]
> BlockClosure>>cull:
> Context>>evaluateSignal:
> Context>>handleSignal:
> PrimitiveFailed(Exception)>>signal
> PrimitiveFailed class(SelectorException class)>>signalFor:
> ZdcPluginSSLSession(Object)>>primitiveFailed:
> ZdcPluginSSLSession(Object)>>primitiveFailed
> ZdcPluginSSLSession>>primitiveSSLCreate
> [ handle := self primitiveSSLCreate ] in ZdcPluginSSLSession>>initialize in Block: [ handle := self primitiveSSLCreate ]
> BlockClosure>>on:do:
> ZdcPluginSSLSession>>initialize
> ZdcPluginSSLSession class(Behavior)>>new
> ZdcSecureSocketStream>>sslSession
> ZdcSecureSocketStream>>connect
> ZnClient>>setupTLSTo:
> ZnClient>>newConnectionTo:
> ZnClient>>getConnectionAndExecute
> ZnClient>>executeWithRedirectsRemaining:
> [ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in ZnClient>>executeWithRetriesRemaining: in Block: [ self executeWithRedirectsRemaining: self maxNumb...etc...
> BlockClosure>>on:do:
> ZnClient>>executeWithRetriesRemaining:
> [ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self executeWithRetriesRemaining: self numberOfRetries ]
>    on: Error
>    do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ self executeWithRetriesRemaining: self numberOfR...etc...
> BlockClosure>>on:do:
> [ [ self executeWithRetriesRemaining: self numberOfRetries ]
>    on: Error
>    do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ [ self executeWithRetriesRemaining: self numberO...etc...
> [ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
> [ p psValueAt: index put: anObject.
> aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
> BlockClosure>>ensure:
> ZnConnectionTimeout(DynamicVariable)>>value:during:
> ZnConnectionTimeout class(DynamicVariable class)>>value:during:
>
> So I guess it concerns Pharo 5 images/VM?
>
> Julien
>
>
> On 08/05/17 13:49, Sven Van Caekenberghe wrote:
>> Just to be sure, I tried from scratch:
>>
>> $ cat /etc/issue
>> Ubuntu 16.04.2 LTS
>>
>> $ uname -a
>> Linux audio359 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>>
>> $ curl get.pharo.org/60+vm | bash
>> ...
>>
>> $ ./pharo Pharo.image printVersion
>> [version] 6.0 #60482
>>
>> $ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
>> '<!DOCTYPE HTML>
>> <html>
>>     <head>
>> ...
>> </html>'
>>
>> $ ldd pharo-vm/lib/pharo/5.0-201705022326/SqueakSSL.so
>> linux-gate.so.1 =>  (0xf773a000)
>> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf751c000)
>> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf74b2000)
>> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
>> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
>> /lib/ld-linux.so.2 (0xf7718000)
>>
>> This is on a 64-bit Ubuntu with 32-bit libs installed (and that worked before).
>>
>> Something must be different in your case.
>>
>>> On 8 May 2017, at 13:36, Marc Hanisch via Pharo-users <[hidden email]> wrote:
>>>
>>>
>>> From: Marc Hanisch <[hidden email]>
>>> Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
>>> Date: 8 May 2017 at 13:36:12 GMT+2
>>> To: Any question about pharo is welcome <[hidden email]>
>>>
>>>
>>> Hello,
>>> I have the same problem on Ubuntu 16.04 and Fedora 25...
>>>
>>> Any hints?
>>> Marc
>>>
>>>
>>> Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
>>> Ok, I installed the missing library:
>>>
>>> yaourt -S lib32-openssl-1.0
>>>
>>> now when I do:
>>>
>>> ldd /usr/share/pharo/vm/libSqueakSSL.so
>>>
>>> I get:
>>>
>>> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>>>     linux-gate.so.1 (0xf77f1000)
>>>     libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>>>     libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>>>     libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>>>     /usr/lib/ld-linux.so.2 (0x565de000)
>>>     libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>>>
>>> So it is still not working, I still get the exception in Pharo. :-(
>>>
>>> Julien
>>>  
>>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)

Julien Delplanque
Ok, I found a way to fix the problem.

Simply, I needed to install the package lib32-libopenssl-1.0-compat
which contains
the library with "1.0.0" version. This should be added as dependency to
the package
in AUR. (the command: # yaourt -S lib32-libopenssl-1.0-compat)

I can help for that if needed. Who manage the pharo-related packages for
Arch?

Julien


On 09/05/17 11:24, Sven Van Caekenberghe wrote:

> For Pharo 5, on the same machine:
>
> $ curl get.pharo.org/50+vm | bash
> ...
>
> $ ./pharo --version
> 5.0 #1 Wed May  4 11:54:28 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
> CoInterpreter VMMaker.oscog-eem.1855 uuid: d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
> StackToRegisterMappingCogit VMMaker.oscog-eem.1855 uuid: d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
> https://github.com/pharo-project/pharo-vm.git Commit: b8ec25a570d7539653e1d793e97609adb509aaed Date: 2016-05-04 11:14:22 +0200 By: Esteban Lorenzano <[hidden email]> Jenkins build #589
> Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux
>
> $ ./pharo Pharo.image printVersion
> [version] 5.0 #50772
> $ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
> 4149724864:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:769:
> ConnectionClosed: Connection closed while waiting for data.
> ...
>
> This is normal, see https://pharo.fogbugz.com/f/cases/19864/Add-support-for-Server-Name-Indication-SNI-to-Zodiac-SSLPlugin which is integrated in 6 but not in 5.
>
> Note that the error is different from yours (no linking error, a runtime error).
>
> With other HTTPS sites, it still works on 5:
>
> audio359@audio359:~/pharo-dev/pharo5$ ./pharo Pharo.image eval "ZnClient new get: 'https://audio359.eu'"
> ...
>
>> On 9 May 2017, at 09:08, Julien Delplanque <[hidden email]> wrote:
>>
>> Hello,
>>
>> I did the same thing as you and it works.
>>
>> When I do:
>>
>> ./pharo --version
>>
>> I get:
>>
>> 5.0-201705022326  Tue May  2 23:46:52 UTC 2017 gcc 4.6.3 [Production Spur ITHB VM]
>> CoInterpreter VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
>> StackToRegisterMappingCogit VMMaker.oscog-eem.2203 uuid: 12d4afae-8498-4e76-8efe-60eba6ef4db2 May  2 2017
>> VM: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $ Date: Tue May 2 16:26:41 2017 -0700 $
>> Plugins: 201705022326 https://github.com/OpenSmalltalk/opensmalltalk-vm.git $
>> Linux testing-gce-7a7e75c9-f535-4934-bad2-d5fb6fd60cee 3.13.0-103-generic #150~precise1-Ubuntu SMP Thu Nov 24 11:05:34 UTC 2016 i686 i686 i386 GNU/Linux
>> plugin path: /tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326 [default: /tmp/pharo/pharo-vm/lib/pharo/5.0-201705022326/]
>>
>> And when I check the version of the VM currently installed on my system:
>>
>> pharo-spur
>>
>> I get:
>>
>> 5.0 #1 Tue Jun 21 12:37:33 CEST 2016 gcc 4.6.3 [Production Spur ITHB VM]
>> CoInterpreter VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
>> StackToRegisterMappingCogit VMMaker.oscog-HolgerHansPeterFreyther.1880 uuid: 16138eb3-2390-40f5-a6c8-15f0494936f8 Jun 21 2016
>> https://github.com/pharo-project/pharo-vm.git Commit: 9638b0190a9fc01479bfb752becd96edfd253c8c Date: 2016-06-21 12:29:26 +0200 By: GitHub <[hidden email]> Jenkins build #594
>> Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux
>> plugin path: /usr/share/pharo/spur/ [default: /usr/share/pharo/spur/]
>>
>> So apparently those are not the same VMs.
>>
>> Nevertheless, when I open Pharo 6 image that I got using your curl command, it
>> using the network works with  both VM.
>>
>> So, I tried to load a Pharo 5 image with the VM:
>>
>> curl get.pharo.org/50+vm | bash
>>
>> And when I do:
>>
>> ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
>>
>> I get:
>>
>> ioLoadModule(/tmp/pharo2/pharo-vm/libSqueakSSL.so):
>>   /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /tmp/pharo2/pharo-vm/libSqueakSSL.so)
>> ZdcPluginMissing: SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
>> [ :exception | ZdcPluginMissing signal ] in ZdcPluginSSLSession>>initialize in Block: [ :exception | ZdcPluginMissing signal ]
>> BlockClosure>>cull:
>> Context>>evaluateSignal:
>> Context>>handleSignal:
>> PrimitiveFailed(Exception)>>signal
>> PrimitiveFailed class(SelectorException class)>>signalFor:
>> ZdcPluginSSLSession(Object)>>primitiveFailed:
>> ZdcPluginSSLSession(Object)>>primitiveFailed
>> ZdcPluginSSLSession>>primitiveSSLCreate
>> [ handle := self primitiveSSLCreate ] in ZdcPluginSSLSession>>initialize in Block: [ handle := self primitiveSSLCreate ]
>> BlockClosure>>on:do:
>> ZdcPluginSSLSession>>initialize
>> ZdcPluginSSLSession class(Behavior)>>new
>> ZdcSecureSocketStream>>sslSession
>> ZdcSecureSocketStream>>connect
>> ZnClient>>setupTLSTo:
>> ZnClient>>newConnectionTo:
>> ZnClient>>getConnectionAndExecute
>> ZnClient>>executeWithRedirectsRemaining:
>> [ self executeWithRedirectsRemaining: self maxNumberOfRedirects ] in ZnClient>>executeWithRetriesRemaining: in Block: [ self executeWithRedirectsRemaining: self maxNumb...etc...
>> BlockClosure>>on:do:
>> ZnClient>>executeWithRetriesRemaining:
>> [ self executeWithRetriesRemaining: self numberOfRetries ] in [ [ self executeWithRetriesRemaining: self numberOfRetries ]
>>     on: Error
>>     do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ self executeWithRetriesRemaining: self numberOfR...etc...
>> BlockClosure>>on:do:
>> [ [ self executeWithRetriesRemaining: self numberOfRetries ]
>>     on: Error
>>     do: self ifFailBlock ] in ZnClient>>executeWithTimeout in Block: [ [ self executeWithRetriesRemaining: self numberO...etc...
>> [ ^ block value ] in ZnClient>>withTimeoutDo: in Block: [ ^ block value ]
>> [ p psValueAt: index put: anObject.
>> aBlock value ] in ZnConnectionTimeout(DynamicVariable)>>value:during: in Block: [ p psValueAt: index put: anObject....
>> BlockClosure>>ensure:
>> ZnConnectionTimeout(DynamicVariable)>>value:during:
>> ZnConnectionTimeout class(DynamicVariable class)>>value:during:
>>
>> So I guess it concerns Pharo 5 images/VM?
>>
>> Julien
>>
>>
>> On 08/05/17 13:49, Sven Van Caekenberghe wrote:
>>> Just to be sure, I tried from scratch:
>>>
>>> $ cat /etc/issue
>>> Ubuntu 16.04.2 LTS
>>>
>>> $ uname -a
>>> Linux audio359 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>>>
>>> $ curl get.pharo.org/60+vm | bash
>>> ...
>>>
>>> $ ./pharo Pharo.image printVersion
>>> [version] 6.0 #60482
>>>
>>> $ ./pharo Pharo.image eval "ZnClient new get: 'https://pharo.org'"
>>> '<!DOCTYPE HTML>
>>> <html>
>>>      <head>
>>> ...
>>> </html>'
>>>
>>> $ ldd pharo-vm/lib/pharo/5.0-201705022326/SqueakSSL.so
>>> linux-gate.so.1 =>  (0xf773a000)
>>> libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf751c000)
>>> libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf74b2000)
>>> libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72fb000)
>>> libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
>>> /lib/ld-linux.so.2 (0xf7718000)
>>>
>>> This is on a 64-bit Ubuntu with 32-bit libs installed (and that worked before).
>>>
>>> Something must be different in your case.
>>>
>>>> On 8 May 2017, at 13:36, Marc Hanisch via Pharo-users <[hidden email]> wrote:
>>>>
>>>>
>>>> From: Marc Hanisch <[hidden email]>
>>>> Subject: Re: [Pharo-users] SSL/TLS plugin initailization failed (VM plugin missing ? OS libraries missing ?)
>>>> Date: 8 May 2017 at 13:36:12 GMT+2
>>>> To: Any question about pharo is welcome <[hidden email]>
>>>>
>>>>
>>>> Hello,
>>>> I have the same problem on Ubuntu 16.04 and Fedora 25...
>>>>
>>>> Any hints?
>>>> Marc
>>>>
>>>>
>>>> Am 08.05.2017 13:18 schrieb "Julien Delplanque" <[hidden email]>:
>>>> Ok, I installed the missing library:
>>>>
>>>> yaourt -S lib32-openssl-1.0
>>>>
>>>> now when I do:
>>>>
>>>> ldd /usr/share/pharo/vm/libSqueakSSL.so
>>>>
>>>> I get:
>>>>
>>>> /usr/share/pharo/vm/libSqueakSSL.so: /usr/lib32/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by /usr/share/pharo/vm/libSqueakSSL.so)
>>>>      linux-gate.so.1 (0xf77f1000)
>>>>      libssl.so.1.0.0 => /usr/lib32/libssl.so.1.0.0 (0xf7731000)
>>>>      libc.so.6 => /usr/lib32/libc.so.6 (0xf7571000)
>>>>      libcrypto.so.1.0.0 => /usr/lib32/libcrypto.so.1.0.0 (0xf7360000)
>>>>      /usr/lib/ld-linux.so.2 (0x565de000)
>>>>      libdl.so.2 => /usr/lib32/libdl.so.2 (0xf735b000)
>>>>
>>>> So it is still not working, I still get the exception in Pharo. :-(
>>>>
>>>> Julien
>>>>  
>>>>
>>
>