Search code examples
linuxcentossmalltalkglibcpharo

Cannot even install Pharo 3 on CentOS 6.5


I have tried last 3 days to install Pharo Smalltalk 3.0 in a CentOS 6.5 64-bit without success, actually the experience has been quite depressing because no-one seems to provide a clear or definitive answer.

There is no RPM and it seems the folks at Pharo only considered Ubuntu and forgot about all remaining distros. First as Pharo VM doesn't run in 32-bit yet, I have tried to satisfy the 32-bit libs requirements which they assumed to be ia32-libs for all linux distributions. Then you have to search all required libraries manually.

# yum install ld-linux.so.2 glibc-devel.i686 glibc-static.i686 glibc-utils.i686 libX11.i686 libX11-devel.i686 mesa-libGL.i686 mesa-libGL-devel.i686 libICE.i686 libICE-devel.i686 libSM.i686

Then I have tried to download from command-line

$ curl get.pharo.org | bash

But VM refuses to start because of missing glibc version

$ ./pharo -h
./pharo: /lib/libc.so.6: version `GLIBC_2.15' not found (required by ./pharo)

To find where is my libc.so

$ ldd `which pharo`
    linux-gate.so.1 =>  (0x00ddc000)
    libm.so.6 => /lib/libm.so.6 (0x00e58000)
    libdl.so.2 => /lib/libdl.so.2 (0x00c9f000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00796000)
    libc.so.6 => /lib/libc.so.6 (0x0056b000)
    /lib/ld-linux.so.2 (0x00f4b000)

$ whereis libc.so
libc: /usr/lib/libc.a /usr/lib/libc.so /usr/lib64/libc.so /usr/share/man/man7/libc.7.gz

Finally I checked for the libc versions in my system

$ strings /lib/libc.so.6 | grep GLIBC
GLIBC_2.0
GLIBC_2.1
GLIBC_2.1.1
GLIBC_2.1.2
GLIBC_2.1.3
GLIBC_2.2
GLIBC_2.2.1
GLIBC_2.2.2
GLIBC_2.2.3
GLIBC_2.2.4
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

So I do not have GLIBC_2.15 and hopefully installed all the 32-bit libraries, what can I do?


Solution

  • I have it running there. It works very well.

    But got it running by compiling it from source.

    So, yes, no yum or rpm at the moment.

    The issue is that the CentOS glibc is pretty old.

    You can take a working VM for Centos 6.5 and a shell script to install prerequisites here:

    https://github.com/philippeback/pharovm-centos65

    I am using this build daily, it is stable.