在 64 位 Linux 上获得新的 Squeak 5 运行
Getting the new Squeak 5 to run on 64 bit Linux
简而言之:如何在 x64 Linux 上将 Squeak 5 安装到 运行?
我不关心可执行文件是 32 位还是 64 位,只要它 运行s 并打开 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
在这两个目录中:
- Squeak-5.0-多合一/
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/
两者都return这个错误:
/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)的误导性文件:
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686/bin
它们不是可执行文件,只是更多 shell 脚本。
还有另一个 squeak
文件位于:
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3397
运行 ./squeak
误导性地说 No such file or directory
。它具有误导性,因为该文件确实存在,它只是一个 32 位 exe。
file squeak
告诉我:ELF 32-bit LSB executable, Intel 80386
.
那么如何在 64 位 Linux 上将其设置为 运行?我可以自己编译它,但还没有尝试假设有很多依赖项。或者有人试过吗?
您已经获得了所有需要的信息:
You may need to (re)install the 32-bit libraries.
Squeak 5 目前只有 32 位。因此,您需要 32 位库。
它不能使用您的 64 位库。
您可能需要 thes:e 个包(我使用 Debian/Ubuntu 个名称,CentOS/RH/SuSE 应该类似):
- libc6:i386
- libuuid1:i386
- libkrb5-3:i386
- libk5crypto3:i386
- zlib1g:i386
- libcomerr2:i386
- libkrb5support0:i386
- libkeyutils1:i386
- libx11-6:i386
- libgl1-mesa-glx:i386
- libsm6:i386
- libssl1.0.0:i386
(注意名称中的:i386
)
这适用于 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 }'|
sort -u|
xargs dpkg -S|
awk '{print }'|
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
安装它。
简而言之:如何在 x64 Linux 上将 Squeak 5 安装到 运行? 我不关心可执行文件是 32 位还是 64 位,只要它 运行s 并打开 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
在这两个目录中:
- Squeak-5.0-多合一/
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/
两者都return这个错误:
/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)的误导性文件:
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686/bin
它们不是可执行文件,只是更多 shell 脚本。
还有另一个 squeak
文件位于:
- Squeak-5.0-All-in-One/Squeak-5.0-多合一.app/Contents/LinuxAndWindows/Linux-i686/lib/squeak/5.0-3397
运行 ./squeak
误导性地说 No such file or directory
。它具有误导性,因为该文件确实存在,它只是一个 32 位 exe。
file squeak
告诉我:ELF 32-bit LSB executable, Intel 80386
.
那么如何在 64 位 Linux 上将其设置为 运行?我可以自己编译它,但还没有尝试假设有很多依赖项。或者有人试过吗?
您已经获得了所有需要的信息:
You may need to (re)install the 32-bit libraries.
Squeak 5 目前只有 32 位。因此,您需要 32 位库。 它不能使用您的 64 位库。
您可能需要 thes:e 个包(我使用 Debian/Ubuntu 个名称,CentOS/RH/SuSE 应该类似):
- libc6:i386
- libuuid1:i386
- libkrb5-3:i386
- libk5crypto3:i386
- zlib1g:i386
- libcomerr2:i386
- libkrb5support0:i386
- libkeyutils1:i386
- libx11-6:i386
- libgl1-mesa-glx:i386
- libsm6:i386
- libssl1.0.0:i386
(注意名称中的:i386
)
这适用于 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 }'|
sort -u|
xargs dpkg -S|
awk '{print }'|
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
安装它。