我的 Eclipse 在我的 Fedora 16 上运行良好。我正在关注这些说明安装 Glassfish Tools Bundle for Eclipse(必须通过其自己的安装程序在 Eclipse 外部完成),在我成功完成安装程序后,下一步是在插件目录中启动 Eclipse 启动器(因此不是常规的 Eclipse发射器)。我收到以下错误:
> ./eclipse
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
(eclipse:2300): Gtk-WARNING **: Unable to locate theme engine in module_path: "clearlooks",
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
这是在航站楼报告的。弹出的 GUI 简要说明 ~/workspace/.metadata/.log 下还有一个错误日志文件,其中包含以下内容:
!SESSION 2012-09-27 22:18:52.512 -----------------------------------------------
eclipse.buildId=M20090917-0800
java.version=1.6.0_16
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -pluginCustomization plugin_customization.ini -showsplash org.eclipse.platform
Command-line arguments: -os linux -ws gtk -arch x86 -pluginCustomization plugin_customization.ini -showsplash org.eclipse.platform
!ENTRY org.eclipse.equinox.p2.directorywatcher 4 0 2012-09-27 22:19:01.715
!MESSAGE The installable unit org.eclipse.jdt.compiler.apt.translated_host_properties is missing the filename property.
!ENTRY org.eclipse.osgi 4 0 2012-09-27 22:19:07.181
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: no swt-pi-gtk-3555 or swt-pi-gtk in swt.library.path, java.library.path or the jar file
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:254)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:159)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:131)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:516)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:143)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:88)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
!SESSION 2012-09-27 22:22:17.706 -----------------------------------------------
eclipse.buildId=M20090917-0800
java.version=1.6.0_16
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
Framework arguments: -pluginCustomization plugin_customization.ini -showsplash org.eclipse.platform
Command-line arguments: -os linux -ws gtk -arch x86 -pluginCustomization plugin_customization.ini -showsplash org.eclipse.platform
我发现这个网站但我无法按照那里的指示来挽救我的生命。我所了解的是 GTK-2 需要一些 32 位库,即使系统是 64 位,但它正在尝试打开 64 位库。
请帮助
答案1
AFAICT,您链接到的 Glassfish Tools Bundle 是 a) 只是 Eclipse 3.51 和 Glassfish v3 的集合,b) 为 32 位编译,以及 c) 古老。
与其遵循对当前 64 位发行版几乎没有影响的古老指令,为什么不搜索适用于 Fedora 16 的 Eclipse 和 Glassfish 软件包呢?或者,如果它们在任何地方都找不到,请尝试 Fedora 17 或 18 的软件包,下载 SRPMS 并将其向后移植到 Fedora 16(即在 F16 上编译源软件包)。
(我不是 Fedora 软件包方面的专家,但快速的 google 搜索让我怀疑 glassfish v3 适用于 F18,但不适用于 F16...因此向后移植 srpm 将是一个可行的选择)。
这听起来可能需要做很多工作,但与四处寻找在 F16 上运行的 32 位外国(即非 Fedora)二进制文件的古老指令相比,它可能会更容易,工作量也少得多。更重要的是,它的脆弱性要低得多,是针对您使用它的确切环境进行编译的,因此在未来的升级中不太可能损坏。
顺便说一句,根据经验,如果您使用像 Fedora(或 RHEL、Centos、Debian、Ubuntu 等)这样的包管理发行版,最好查看任何提供安装说明的网页,该网页的安装说明如下: “从这个位置下载这个二进制压缩包”,甚至“下载源代码......”,带着深深的怀疑。它几乎肯定是过时的和/或由不了解包管理器如何工作并且不了解绕过它们可能造成的混乱的人编写......通常是由一个只想它的程序员编写的现在正在工作(因为他们有紧急的工作需要做)并且不想考虑它将来会如何崩溃。
包管理器不是需要解决的障碍,它们是帮助您管理系统的有价值的工具......您使用的程序越多,您管理的系统越多,该工具就变得越有价值。
有时别无选择,只能走出包管理器......但这应该始终是最后一招(在向后移植之后,甚至尝试构建自己的软件包已经失败)....即使不可避免地需要,您也应该使用类似的东西存放管理 /usr/local 中的安装。
答案2
原始帖子中的说明已过时。 这里是最新的。谢谢@克雷格·桑德斯