我最近 3 天尝试安装 Pharo Smalltalk 3.0在CentOS 6.5 64-bit 上没有成功,其实体验一直很郁闷,因为似乎没有人给出明确或确定的答案。
没有 RPM,Pharo 的人们似乎只考虑了 Ubuntu 而忘记了所有剩余的发行版。首先,由于 Pharo VM 还不能在 32 位上运行,我试图满足 32 位库的要求,他们假设所有 linux 发行版都是 ia32-libs。然后您必须手动搜索所有需要的库。
# 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
然后我尝试从命令行下载
$ curl get.pharo.org | bash
但是VM因为缺少glibc版本而拒绝启动
$ ./pharo -h
./pharo: /lib/libc.so.6: version `GLIBC_2.15' not found (required by ./pharo)
找到我的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
最后我检查了我系统中的 libc 版本
$ 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
所以我没有 GLIBC_2.15,希望安装所有 32 位库,我该怎么办?
最佳答案
我让它在那里运行。效果很好。
但是通过从源代码编译让它运行。
所以,是的,目前没有 yum 或 rpm。
问题是 CentOS glibc 太旧了。
您可以使用 Centos 6.5 的工作虚拟机和 shell 脚本来安装先决条件:
https://github.com/philippeback/pharovm-centos65
我每天都在使用这个版本,它很稳定。
关于linux - 甚至无法在 CentOS 6.5 上安装 Pharo 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25966652/