简体   繁体   中英

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?

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.

we have one vm build for older glibc version but not packaged as rpm http://files.pharo.org/vm/pharo/linux/old-libc/ (I use this to work on ubuntu 10.04)

And it is not build automatically yet http://forum.world.st/installing-pharo-3-0-on-Debian-wheezy-td4759635.html

I'm not a CentOS user, so my confidence in this answer is limited.

It looks like the newest glibc that CentOS 6.5 supports is 2.12: http://distrowatch.com/table.php?distribution=centos

And Pharo 3.0 requires 2.15 or newer. It looks like you'll need to either compile the Pharo VM from source, as already suggested, or move to CentOS 7.

You should try to install the Nix package manager. Pharo is bundled with it. http://nixos.org/nix/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM