Ubuntu 10.04.1 64位上的Eclipse SWT 3.3.0中的内部浏览器无法运行。我相信这是因为无法找到libxpcom.so,我相信这是因为没有安装libxul0d软件包。但是,它似乎在Ubuntu 10中删除了,我不知道如何找出原因,它被替换的内容以及我是否可以安全地使用来自karmic的libxul0d。
这主要是一个系统管理问题所以我正在越过superuser.com的帖子,但程序员可能知道答案,我很确定很多人一旦找到答案就会想知道答案。< / p>
错误讯息:
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)
我可以看到libxul0d in karmic有共享库,但该库不在Lucid中。
根据Eclipse SWT FAQ,似乎我需要1.8.x的XULRunner,所以Lucid中的XULRunner 1.9.x无济于事。
那么,我如何找出该软件包发生了什么以及我选择安装什么?请注意,升级Eclipse SWT不是一个选项。
答案 0 :(得分:1)
从karmic存储库(NOT lucid)下载以下文件:
使用以下命令按给定的顺序安装软件包。
sudo dpkg -i~ / Desktop / .deb
请注意,可以使用apt-get来固定业力存储库(https://help.ubuntu.com/community/UbuntuBackports),但我还没试过。
问题是报告正在通过SWT加载浏览器。然后SWT代码寻找浏览器并尝试查找各种所需的共享库。 XULRunner是核心的Firefox浏览功能,现在在清晰的存储库中是v1.9。但是,SWT v3.3.0(正如我们所知)需要v1.8,这是karmic。
答案 1 :(得分: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/