让新的Squeak 5在64位Linux

时间:2016-01-07 16:24:47

标签: linux 64-bit squeak

简而言之:如何让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

  • 佳乐-5.0所有功能于一体/
  • 佳乐-5.0所有功能于一体/ Squeak-5.0-All-in-One.app /内容/ LinuxAndWindows /

两者都返回此错误:

/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)的误导性文件:

  • 佳乐-5.0所有功能于一体/ Squeak-5.0-All-in-One.app /内容/ LinuxAndWindows / Linux的i686的
  • 佳乐-5.0所有功能于一体/ Squeak-5.0-All-in-One.app /内容/ LinuxAndWindows / Linux的i686的/ bin中

它们不是可执行文件,只是更多的shell脚本。

还有另一个squeak文件:

  • 佳乐-5.0所有功能于一体/ Squeak-5.0-All-in-One.app /内容/ LinuxAndWindows / Linux的i686的/ LIB /吱/ 5.0-3397

运行./squeak误导性地说No such file or directory。这是误导性的,因为文件确实存在,它只是一个32位的exe。

file squeak告诉我:ELF 32-bit LSB executable, Intel 80386

那么如何让它在64位Linux上运行呢?我可以自己编译但是没有尝试假设有很多依赖项。或者有人试过吗?

2 个答案:

答案 0 :(得分:2)

您已获得所需的所有信息:

  

You may need to (re)install the 32-bit libraries.

Squeak 5目前仅为32位。因此,您需要32位库。 它无法使用您的64位库。

您可能需要: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-台面GLX:I386
  • libsm6:I386
  • libssl1.0.0:I386

(请注意名称中的: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

安装它。