[Vm-dev] correct 32bit libssl library for CentOS 7.2?

Tobias Pape Das.Linux at gmx.de
Sun Apr 17 10:33:30 UTC 2016


Hi,

On 17.04.2016, at 11:54, Bernhard Pieber <bernhard at pieber.com> 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 <lists at fniephaus.com>:
>> 
>> 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 <bernhard at pieber.com> 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 at 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 at 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




More information about the Vm-dev mailing list