MQ Explorer - 无法加载SWT库

时间:2016-01-14 22:01:02

标签: linux swt ibm-mq

在Linux VM(Centos)中安装了IBM MQ 8.0.0.4开发人员实例。

启动MQ资源管理器时,使用命令strmqcfg(获取以下错误)。

!ENTRY org.eclipse.osgi 4 0 2016-01-14 13:33:43.226
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
        /home/mqm/.eclipse/com.ibm.mq.explorer.ui.rcp.RcpApplication_8.0.0.201510171407_1624510073_linux_gtk_x86_64/configuration/org.eclipse.osgi/bundles/500/1/.cp/libswt-pi-gtk-4333.so (libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory)
        swt-pi-gtk (Not found in java.library.path)
        /home/mqm/.swt/lib/linux/x86_64/libswt-pi-gtk-4333.so (libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory)
        /home/mqm/.swt/lib/linux/x86_64/libswt-pi-gtk.so (/home/mqm/.swt/lib/linux/x86_64/liblibswt-pi-gtk.so.so: cannot open shared object file: No such file or directory)

        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:31)
        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:133)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:675)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:162)
        at com.ibm.mq.explorer.ui.rcp.internal.base.RcpApplication.start(RcpApplication.java:88)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        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:354)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:181)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
        at java.lang.reflect.Method.invoke(Method.java:620)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:636)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1450)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1426)

我在网上看到有针对AIX的SWT库下载。 http://www-01.ibm.com/support/docview.wss?uid=swg21631478

Linux CentOS是否有类似的下载。感谢任何帮助。 CentOS的分辨率是否不同。

这是机器信息: java -version

java version "1.6.0_34"
OpenJDK Runtime Environment (IcedTea6 1.13.6) (rhel-1.13.6.1.el6_6-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)

dspmqver

Name:        WebSphere MQ
Version:     8.0.0.4
Level:       p800-004-151017
BuildType:   IKAP - (Production)
Platform:    WebSphere MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux 2.6.32-504.8.1.el6.x86_64
InstName:    Installation1
InstDesc:
Primary:     Yes
InstPath:    /opt/IBM/mqm
DataPath:    /var/mqm
MaxCmdLevel: 802
LicenseType: Developer

2 个答案:

答案 0 :(得分:4)

使用yum安装这些软件包:

gtk2 libXtst xorg-x11-fonts-Type1

WebSphere Application Server的某些图形部分具有相同的SWT依赖性 - RHEL7的先决条件的记录方式如下:

http://www-01.ibm.com/support/knowledgecenter/SS7K4U_8.5.5/com.ibm.websphere.installation.nd.doc/ae/tins_linuxsetup_rhel7.html?cp=SSAW57_8.5.5&lang=en

答案 1 :(得分:1)

很好的答案。

我知道这是一篇旧帖子....但只是想补充一点,该解决方案今天仍然适用,以防万一有人遇到类似问题。安装 gtk2 libXtst 正是我解决无法在 Manjaro(内核 5.9)上启动 IIB10 Toolkit 的问题所需要的。作为参考,错误我在安装这两个包之前是:

JRE 1.8.0 Linux amd64-64-Bit Compressed References 20200724_452227 (JIT enabled, AOT enabled)
OpenJ9   - 4ce4b9d
OMR      - 08b0594
IBM      - 70917a2
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -showlocation -product com.ibm.etools.msgbroker.tooling.ide
Command-line arguments:  -os linux -ws gtk -arch x86_64 -showlocation -product com.ibm.etools.msgbroker.tooling.ide

!ENTRY org.eclipse.osgi 4 0 2021-01-10 14:21:08.900
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
        /home/user1/IBM/IIBT10-config/10.0.0.22/configuration/org.eclipse.osgi/1177/0/.cp/libswt-pi-gtk-4430.so (libgtk-x11-2.0.so.0: cannot open shared object file: No
 such file or directory)
        swt-pi-gtk (Not found in java.library.path)
        /home/user1/.swt/lib/linux/x86_64/libswt-pi-gtk-4430.so (libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory)
        /home/user1/.swt/lib/linux/x86_64/libswt-pi-gtk.so (/home/user1/.swt/lib/linux/x86_64/liblibswt-pi-gtk.so.so: cannot open shared object file: No such file or dir
ectory)

        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:327)
        at org.eclipse.swt.internal.Library.loadLibrary(Library.java:236)
        at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:39)
        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:135)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:757)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:162)
        at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:165)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:107)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:90)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
        at java.lang.reflect.Method.invoke(Method.java:508)