我正在尝试在 Ubuntu 14.04 LTS 64 位上安装 OALD8。以下是我目前采取的步骤:
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0
$ sudo apt-get install ia32-libs-gtk ia32-libs-sdl dpkg-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package ia32-libs-gtk
E: Unable to locate package ia32-libs-sdl
$ padsp '/home/ioannis/oald8/oald8'
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/home/ioannis/oald8/oald8-bin: error while loading shared libraries: libpangoxft-1.0.so.0: cannot open shared object file: No such file or directory
根据这些错误消息,我安装了以下软件包:
sudo apt-get install libgtk2.0-0:i386 gtk2-engines-murrine:i386
现在 OALD8 启动了,但我听不到发音。
这是我看到的命令行输出:
$ padsp '/home/ioannis/oald8/oald8'
ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Gtk-Message: Failed to load module "overlay-scrollbar"
Gtk-Message: Failed to load module "unity-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
LoadPlugin: failed to initialize shared library /home/ioannis/oald8/plugins/libflashplayer.so [libnssutil3.so.1d: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library /home/ioannis/oald8/plugins/libflashplayer.so [libnssutil3.so.1d: cannot open shared object file: No such file or directory]
提前感谢你的努力和时间
答案1
我遇到了同样的问题(我回复了另一个关于此问题的帖子这里)。
这是闪存问题。这是因为闪存库要求使用 32 位版本的 libnssutil3.so.1d。如果您安装此版本,它会抱怨 libplc4.so.0d。
这些库分别位于 libnss3-1d:i386 和 libnspr4-0d:i386 包中。
sudo apt-get install libnss3-1d:i386 libnspr4-0d:i386
如果在安装这些库之后,您收到“分段错误(核心转储)“每次您尝试启动字典时,只需删除这些包,甚至从~/oald8/plugins 文件夹中重命名或删除 libflashplayer.so。
PS:尝试安装gtk2-引擎:i386(或其他 gtk2 引擎)来停止 Gtk-Messages。
更新
在另一个线程中我发布了一个完整的解决方案,让声音和闪光灯正常工作。我认为它也适用于你的盒子。
我相信您仍然遇到声音问题,即使使用 padsp 包装器,因为 padsp 坚持使用 64 位版本的 libpulsedsp.so 库。
如果您成功使声音正常播放,请告诉我。
答案2
在 Debian 和 Ubuntu 上:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libpulse0:i386 libpulsedsp:i386
您的系统上现在应该有此路径:
/usr/lib/i386-linux-gnu/pulseaudio/
然后
sudo cp /usr/bin/padsp /usr/bin/padsp_32
使用您最喜欢的文本编辑器(以 root 身份!)编辑padsp_32
。您将更改以下两个位置:
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so
到
/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so
然后只需输入
padsp_32 /your/program/here
这是来自 http://www.ideatrash.net/2014/06/fix-padsp-to-use-pulseaudio-on-64-bit.html