1

Ubuntu 10.04.1 64 位上的 Eclipse SWT 3.3.0 中的内部浏览器无法运行。我相信这是因为找不到 libxpcom.so 并且我相信这是因为未安装 libxul0d 包。但是,它似乎在 Ubuntu 10 中被删除了,我不知道如何找出原因,它被替换为什么以及我是否可以安全地使用来自 karmic 的 libxul0d。

这主要是一个系统管理问题,所以我正在从superuser.com发帖,但程序员可能知道答案,而且我敢肯定,一旦找到答案,很多人都会想知道答案。

错误信息:

org.eclipse.swt.SWTError: No more handles (java.lang.UnsatisfiedLinkError: no swt-mozilla-gtk-3346 or swt-mozilla-gtk in swt.library.path, java.library.path or the jar file)

这是一个运行 Eclipse SWT 3.3.0 的 Eclipse RCP 应用程序。如果我找到该库并运行,ldd libswt-mozilla-gtk-3346.so我会得到:

linux-vdso.so.1 =>  (0x00007fff269ff000)
libxpcom.so => not found
libnspr4.so => /usr/lib/libnspr4.so (0x00007fbd6470b000)
libplds4.so => /usr/lib/libplds4.so (0x00007fbd64506000)
libplc4.so => /usr/lib/libplc4.so (0x00007fbd64301000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fbd63fed000)
libm.so.6 => /lib/libm.so.6 (0x00007fbd63d69000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fbd63b52000)
libc.so.6 => /lib/libc.so.6 (0x00007fbd637cf000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fbd635b1000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fbd633ad000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbd64a73000)

我可以看到karmic 中的 libxul0d具有共享库,但该库不在 Lucid 中。

看来,根据 Eclipse SWT FAQ,我需要 1.8.x 的 XULRunner,所以 Lucid 中的 XULRunner 1.9.x 无济于事。

那么,我如何找出该软件包发生了什么以及我选择安装什么?请注意,升级 Eclipse SWT 不是一个选项。

4

2 回答 2

1
  1. 从业力存储库下载以下文件(不清晰):

    • libmozjs0d(http://packages.ubuntu.com/karmic/amd64/libmozjs0d/download)
    • libxul-common(http://packages.ubuntu.com/karmic/libxul-common)
    • libxul0d(http://packages.ubuntu.com/karmic/libxul0d)
    • xulrunner(http://packages.ubuntu.com/karmic/xulrunner)
  2. 使用以下命令按照给定的顺序安装软件包。

    sudo dpkg -i ~/Desktop/.deb

请注意,可以使用 apt-get 来固定 karmic 存储库(https://help.ubuntu.com/community/UbuntuBackports),但我还没有尝试过。

问题是报告正在通过 SWT 加载浏览器。然后,SWT 代码开始寻找浏览器并尝试找到各种所需的共享库。XULRunner 是核心 Firefox 浏览功能,现在是 lucid 存储库中的 v1.9。然而,SWT v3.3.0(正如我们所拥有的)需要 v1.8,它是 karmic。

于 2010-12-16T21:35:54.737 回答
0

您可以从 Mozilla 下载较旧的 firefox,例如 3.5,然后将存档文件解压缩到某个地方。然后将 java.library.path 系统属性的路径添加到eclipse.ini中,

-vmargs -Djava.library.path=<somewhere>/firefox-3.5/lib/

或者另一种方法是将 xulrunner 1.8.x 下载到某个地方,然后添加下面的 vm 参数,

-vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib32/xulrunner-1.8.x/
于 2010-12-16T06:16:47.460 回答