简而言之:如何让Squeak 5在x64 Linux上运行? 我不在乎可执行文件是32位还是64位,只要它运行并打开Squeak 5图像。
以下是我的尝试:
当我尝试从Squeak 5软件包运行可执行文件时,我得到:Running 32-bit Squeak on a 64-bit System. install-libs32 may install them
- 尝试过。没找到。
然后我去找64位可执行文件。有一些来自Squeak 4,但他们无法打开Squeak 5图像。
浏览Squeak 5软件包:
这两个目录中的shell脚本squeak.sh
:
两者都返回此错误:
/usr/bin/ldd didn't produce any output and the system is 64 bit. You may need to (re)install the 32-bit libraries.
在这些目录中还有一些名为squeak
(无.sh)的误导性文件:
它们不是可执行文件,只是更多的shell脚本。
还有另一个squeak
文件:
运行./squeak
误导性地说No such file or directory
。这是误导性的,因为文件确实存在,它只是一个32位的exe。
file squeak
告诉我:ELF 32-bit LSB executable, Intel 80386
。
那么如何让它在64位Linux上运行呢?我可以自己编译但是没有尝试假设有很多依赖项。或者有人试过吗?
答案 0 :(得分:2)
您已获得所需的所有信息:
You may need to (re)install the 32-bit libraries.
Squeak 5目前仅为32位。因此,您需要32位库。 它无法使用您的64位库。
您可能需要:e包(我使用Debian / Ubuntu名称,CentOS / RH / SuSE应该类似):
(请注意名称中的:i386
)
答案 1 :(得分:2)
这适用于64位Ubuntu 16.04:
在解压缩的目录中 Squeak-5.0-All-in-One.zip 存档,包含squeak.sh文件, 将以下内容放入名为libs32.sh的文件中:
#!/bin/bash
objdump -p ./Squeak-5.0-All-in-One.app/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3397/*|
grep NEEDED|
awk '{print $2}'|
sort -u|
xargs dpkg -S|
awk '{print $1}'|
sort -u|
sed 's/:amd64:/:i386:/'|
sort -u|
sed 's/:$//'
使该文件可执行:
chmod +x ./libs32.sh
运行它:
./libs32.sh
您将获得需要安装的库列表。
运行
./lib32.sh | xargs sudo apt install
看看会安装什么。
运行
./lib32.sh | xargs sudo apt install -y
安装它。