【问题标题】:MQ Explorer - Could not load SWT libraryMQ Explorer - 无法加载 SWT 库
【发布时间】:2016-04-20 10:17:27
【问题描述】:

在 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 -版本

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

【问题讨论】:

    标签: linux swt ibm-mq


    【解决方案1】:

    使用 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

    【讨论】:

    • 嗨,由于环境受限,不能使用 yum。是否有这些 RPM 的官方下载源。安装的产品是 Websphere MQ(不是 websphere 应用服务器)。
    • RPM 可从 centos.org 获得。如果您无法使用操作系统提供的更高级别的工具,则必须通过反复试验手动解决依赖关系。
    • 安装链接后的库后仍然无法加载。
    • rg.eclipse.swt.SWTError: 没有更多句柄 [gtk_init_check() failed],
    【解决方案2】:

    很好的答案。

    我知道这是一篇旧帖子....但只是想补充一点,该解决方案今天仍然适用,以防有人遇到类似问题。安装 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)
    

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 2023-03-15
      • 2013-06-07
      • 1970-01-01
      • 2012-12-07
      • 2018-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多