correct 32bit libssl library for CentOS 7.2?

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

correct 32bit libssl library for CentOS 7.2?

bpi

Hi,

I am using Pharo 4 on CentOS 7.2 and want to make an https request from the image, e.g.

ZnClient new
        url: 'https://www.google.com';
        get

I get the following error, stating the library libssl.so.1.0.0 is not found:
ioLoadModule(/home/pharo/test/pharo-vm/libSqueakSSL.so):
  libssl.so.1.0.0: Cannot open Shared-Object-File: File or directory not found

This is not entirely unexpected, because 32bit libraries need to be installed:
[pharo@centos-pharo test]$ ldd pharo-vm/libSqueakSSL.so
        linux-gate.so.1 =>  (0xf77db000)
        libssl.so.1.0.0 => not found
        libc.so.6 => /lib/libc.so.6 (0xf7611000)
        /lib/ld-linux.so.2 (0xf77dc000)

I found the following very helpful list of libraries needed for CentOS 6.5:
https://github.com/philippeback/pharovm-centos65/blob/master/packages-to-install.txt

It includes openssl.i686 version 1.0.1e-16.el6_5.4, which I assume should provide the missing library file.

However, when I try to install I get the following error:
[pharo@centos-pharo test]$ sudo yum install openssl.i686
[sudo] password for pharo:
Geladene Plugins: fastestmirror
base                                                                                                                                                          | 3.6 kB  00:00:00    
extras                                                                                                                                                        | 3.4 kB  00:00:00    
updates                                                                                                                                                       | 3.4 kB  00:00:00    
Loading mirror speeds from cached hostfile
 * base: mirror.23media.de
 * extras: mirror.23media.de
 * updates: ftp.plusline.de
No package openssl.i686 available.
Error: Nothing to do

I looks like the library was available for CentOS 6.5 but for 7.2 not anymore. I am not sure why. Heartbleed, maybe?

Googling did not bring up any solution so far. Any help would be greatly appreciated.

Bernhard
Reply | Threaded
Open this post in threaded view
|

Re: correct 32bit libssl library for CentOS 7.2?

fniephaus
 
I'm not sure if it works on CentOS, but maybe try to use a SqueakSSL plugin version from:
https://github.com/squeak-smalltalk/squeakssl/releases

This one is the latest: https://github.com/squeak-smalltalk/squeakssl/releases/download/v0.2.0b/squeakssl_v0.2.0b.zip

Fabio

On Sun, 17 Apr 2016 at 09:54, Bernhard Pieber <[hidden email]> wrote:

Hi,

I am using Pharo 4 on CentOS 7.2 and want to make an https request from the image, e.g.

ZnClient new
        url: 'https://www.google.com';
        get

I get the following error, stating the library libssl.so.1.0.0 is not found:
ioLoadModule(/home/pharo/test/pharo-vm/libSqueakSSL.so):
  libssl.so.1.0.0: Cannot open Shared-Object-File: File or directory not found

This is not entirely unexpected, because 32bit libraries need to be installed:
[pharo@centos-pharo test]$ ldd pharo-vm/libSqueakSSL.so
        linux-gate.so.1 =>  (0xf77db000)
        libssl.so.1.0.0 => not found
        libc.so.6 => /lib/libc.so.6 (0xf7611000)
        /lib/ld-linux.so.2 (0xf77dc000)

I found the following very helpful list of libraries needed for CentOS 6.5:
https://github.com/philippeback/pharovm-centos65/blob/master/packages-to-install.txt

It includes openssl.i686 version 1.0.1e-16.el6_5.4, which I assume should provide the missing library file.

However, when I try to install I get the following error:
[pharo@centos-pharo test]$ sudo yum install openssl.i686
[sudo] password for pharo:
Geladene Plugins: fastestmirror
base                                                                                                                                                          | 3.6 kB  00:00:00
extras                                                                                                                                                        | 3.4 kB  00:00:00
updates                                                                                                                                                       | 3.4 kB  00:00:00
Loading mirror speeds from cached hostfile
 * base: mirror.23media.de
 * extras: mirror.23media.de
 * updates: ftp.plusline.de
No package openssl.i686 available.
Error: Nothing to do

I looks like the library was available for CentOS 6.5 but for 7.2 not anymore. I am not sure why. Heartbleed, maybe?

Googling did not bring up any solution so far. Any help would be greatly appreciated.

Bernhard
bpi
Reply | Threaded
Open this post in threaded view
|

Re: correct 32bit libssl library for CentOS 7.2?

bpi

Thank you for your help, Fabio!

I just copied the SqueakSSL file to the pharo-vm directory and it worked. :-) Great!

What is the other file (so.SqueakSSL) for?

I find it a bit surprising that I didn’t even have to remove libSqueakSSL.so.

Cheers,
Bernhard

> Am 17.04.2016 um 10:00 schrieb Fabio Niephaus <[hidden email]>:
>
> I'm not sure if it works on CentOS, but maybe try to use a SqueakSSL plugin version from:
> https://github.com/squeak-smalltalk/squeakssl/releases
>
> This one is the latest: https://github.com/squeak-smalltalk/squeakssl/releases/download/v0.2.0b/squeakssl_v0.2.0b.zip
>
> Fabio
>
> On Sun, 17 Apr 2016 at 09:54, Bernhard Pieber <[hidden email]> wrote:
>
> Hi,
>
> I am using Pharo 4 on CentOS 7.2 and want to make an https request from the image, e.g.
>
> ZnClient new
>         url: 'https://www.google.com';
>         get
>
> I get the following error, stating the library libssl.so.1.0.0 is not found:
> ioLoadModule(/home/pharo/test/pharo-vm/libSqueakSSL.so):
>   libssl.so.1.0.0: Cannot open Shared-Object-File: File or directory not found
>
> This is not entirely unexpected, because 32bit libraries need to be installed:
> [pharo@centos-pharo test]$ ldd pharo-vm/libSqueakSSL.so
>         linux-gate.so.1 =>  (0xf77db000)
>         libssl.so.1.0.0 => not found
>         libc.so.6 => /lib/libc.so.6 (0xf7611000)
>         /lib/ld-linux.so.2 (0xf77dc000)
>
> I found the following very helpful list of libraries needed for CentOS 6.5:
> https://github.com/philippeback/pharovm-centos65/blob/master/packages-to-install.txt
>
> It includes openssl.i686 version 1.0.1e-16.el6_5.4, which I assume should provide the missing library file.
>
> However, when I try to install I get the following error:
> [pharo@centos-pharo test]$ sudo yum install openssl.i686
> [sudo] password for pharo:
> Geladene Plugins: fastestmirror
> base                                                                                                                                                          | 3.6 kB  00:00:00
> extras                                                                                                                                                        | 3.4 kB  00:00:00
> updates                                                                                                                                                       | 3.4 kB  00:00:00
> Loading mirror speeds from cached hostfile
>  * base: mirror.23media.de
>  * extras: mirror.23media.de
>  * updates: ftp.plusline.de
> No package openssl.i686 available.
> Error: Nothing to do
>
> I looks like the library was available for CentOS 6.5 but for 7.2 not anymore. I am not sure why. Heartbleed, maybe?
>
> Googling did not bring up any solution so far. Any help would be greatly appreciated.
>
> Bernhard

Reply | Threaded
Open this post in threaded view
|

Re: correct 32bit libssl library for CentOS 7.2?

Tobias Pape

Hi,

On 17.04.2016, at 11:54, Bernhard Pieber <[hidden email]> wrote:

>
> Thank you for your help, Fabio!
>
> I just copied the SqueakSSL file to the pharo-vm directory and it worked. :-) Great!
>
> What is the other file (so.SqueakSSL) for?
>
> I find it a bit surprising that I didn’t even have to remove libSqueakSSL.so.
>

This has to do with the different ways the different VMs handle plugin names.

Cog uses the way it was when it branched, that is a plugin is names

        PLUGINNAME.so (On Unix) or
        PLUGINNAME.dll (On Windows) or
        PLUGINNAME.dylib (On OS X)

After that, Ian Piumarta, maintaining the unix part of the platform tree,
found that PLUGINNAME.so is not always compatible on all Unicies out there.
I do not recall correctly, but presumably, some Solaris couldn't find plugins
then or something. So he changed it for _Unix_ to

        so.PLUGINNAME

During Pharo development, people decided to make plugins look more like libraries
(please correct me here, I'm just speculating) and so we have for Unix Pharos:

        libPLUGINNAME.so


Most VMs try also find plugins of other naming conventions. That's why you see
Pharo also loading SqueakSSL.so. It apparently tries the first variant before the
thrid.


Best regards
        -Tobias

> Cheers,
> Bernhard
>
>> Am 17.04.2016 um 10:00 schrieb Fabio Niephaus <[hidden email]>:
>>
>> I'm not sure if it works on CentOS, but maybe try to use a SqueakSSL plugin version from:
>> https://github.com/squeak-smalltalk/squeakssl/releases
>>
>> This one is the latest: https://github.com/squeak-smalltalk/squeakssl/releases/download/v0.2.0b/squeakssl_v0.2.0b.zip
>>
>> Fabio
>>
>> On Sun, 17 Apr 2016 at 09:54, Bernhard Pieber <[hidden email]> wrote:
>>
>> Hi,
>>
>> I am using Pharo 4 on CentOS 7.2 and want to make an https request from the image, e.g.
>>
>> ZnClient new
>>        url: 'https://www.google.com';
>>        get
>>
>> I get the following error, stating the library libssl.so.1.0.0 is not found:
>> ioLoadModule(/home/pharo/test/pharo-vm/libSqueakSSL.so):
>>  libssl.so.1.0.0: Cannot open Shared-Object-File: File or directory not found
>>
>> This is not entirely unexpected, because 32bit libraries need to be installed:
>> [pharo@centos-pharo test]$ ldd pharo-vm/libSqueakSSL.so
>>        linux-gate.so.1 =>  (0xf77db000)
>>        libssl.so.1.0.0 => not found
>>        libc.so.6 => /lib/libc.so.6 (0xf7611000)
>>        /lib/ld-linux.so.2 (0xf77dc000)
>>
>> I found the following very helpful list of libraries needed for CentOS 6.5:
>> https://github.com/philippeback/pharovm-centos65/blob/master/packages-to-install.txt
>>
>> It includes openssl.i686 version 1.0.1e-16.el6_5.4, which I assume should provide the missing library file.
>>
>> However, when I try to install I get the following error:
>> [pharo@centos-pharo test]$ sudo yum install openssl.i686
>> [sudo] password for pharo:
>> Geladene Plugins: fastestmirror
>> base                                                                                                                                                          | 3.6 kB  00:00:00
>> extras                                                                                                                                                        | 3.4 kB  00:00:00
>> updates                                                                                                                                                       | 3.4 kB  00:00:00
>> Loading mirror speeds from cached hostfile
>> * base: mirror.23media.de
>> * extras: mirror.23media.de
>> * updates: ftp.plusline.de
>> No package openssl.i686 available.
>> Error: Nothing to do
>>
>> I looks like the library was available for CentOS 6.5 but for 7.2 not anymore. I am not sure why. Heartbleed, maybe?
>>
>> Googling did not bring up any solution so far. Any help would be greatly appreciated.
>>
>> Bernhard


bpi
Reply | Threaded
Open this post in threaded view
|

Re: correct 32bit libssl library for CentOS 7.2?

bpi

Thanks for the clarification, Tobias. Sounds a tad complicated, though. ;-)

Cheers,
Bernhard

> Am 17.04.2016 um 12:33 schrieb Tobias Pape <[hidden email]>:
>
> On 17.04.2016, at 11:54, Bernhard Pieber <[hidden email]> wrote:
>> Thank you for your help, Fabio!
>>
>> I just copied the SqueakSSL file to the pharo-vm directory and it worked. :-) Great!
>>
>> What is the other file (so.SqueakSSL) for?
>>
>> I find it a bit surprising that I didn’t even have to remove libSqueakSSL.so.
>
> This has to do with the different ways the different VMs handle plugin names.
>
> Cog uses the way it was when it branched, that is a plugin is names
>
> PLUGINNAME.so (On Unix) or
> PLUGINNAME.dll (On Windows) or
> PLUGINNAME.dylib (On OS X)
>
> After that, Ian Piumarta, maintaining the unix part of the platform tree,
> found that PLUGINNAME.so is not always compatible on all Unicies out there.
> I do not recall correctly, but presumably, some Solaris couldn't find plugins
> then or something. So he changed it for _Unix_ to
>
> so.PLUGINNAME
>
> During Pharo development, people decided to make plugins look more like libraries
> (please correct me here, I'm just speculating) and so we have for Unix Pharos:
>
> libPLUGINNAME.so
>
>
> Most VMs try also find plugins of other naming conventions. That's why you see
> Pharo also loading SqueakSSL.so. It apparently tries the first variant before the
> thrid.

Reply | Threaded
Open this post in threaded view
|

Re: correct 32bit libssl library for CentOS 7.2?

Tobias Pape


On 17.04.2016, at 12:54, Bernhard Pieber <[hidden email]> wrote:

>
> Thanks for the clarification, Tobias. Sounds a tad complicated, though. ;-)

Just history and pragmatism ;)

>
> Cheers,
> Bernhard
>
>> Am 17.04.2016 um 12:33 schrieb Tobias Pape <[hidden email]>:
>>
>> On 17.04.2016, at 11:54, Bernhard Pieber <[hidden email]> wrote:
>>> Thank you for your help, Fabio!
>>>
>>> I just copied the SqueakSSL file to the pharo-vm directory and it worked. :-) Great!
>>>
>>> What is the other file (so.SqueakSSL) for?
>>>
>>> I find it a bit surprising that I didn’t even have to remove libSqueakSSL.so.
>>
>> This has to do with the different ways the different VMs handle plugin names.
>>
>> Cog uses the way it was when it branched, that is a plugin is names
>>
>> PLUGINNAME.so (On Unix) or
>> PLUGINNAME.dll (On Windows) or
>> PLUGINNAME.dylib (On OS X)
>>
>> After that, Ian Piumarta, maintaining the unix part of the platform tree,
>> found that PLUGINNAME.so is not always compatible on all Unicies out there.
>> I do not recall correctly, but presumably, some Solaris couldn't find plugins
>> then or something. So he changed it for _Unix_ to
>>
>> so.PLUGINNAME
>>
>> During Pharo development, people decided to make plugins look more like libraries
>> (please correct me here, I'm just speculating) and so we have for Unix Pharos:
>>
>> libPLUGINNAME.so
>>
>>
>> Most VMs try also find plugins of other naming conventions. That's why you see
>> Pharo also loading SqueakSSL.so. It apparently tries the first variant before the
>> thrid.