http://www.java2class.net/bbs/viewthread.php?tid=231
问题描述:现在又碰到在HP-UX Itanium上因缺少GTK、GCC相关的组件包而无法图形化安装与启动IBM Installation Manager。
系统版本信息如下
# uname -a
HP-UX vpapp01 B.11.31 U ia64 1498236588 unlimited-user license
错误信息:
#./install
00:01.43 ERROR [main] org.eclipse.equinox.log.internal.ExtendedLogReaderServiceFactory safeLogged
Could not load SWT library. Reasons:
/opt/IBMImage/IIM/configuration/org.eclipse.osgi/bundles/638/1/.cp/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
no swt-gtk in java.library.path
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk-4234.so
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk.so
/.swt/lib/hpux/ia64_32/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
/opt/IBMImage/IIM/configuration/org.eclipse.osgi/bundles/638/1/.cp/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
no swt-gtk in java.library.path
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk-4234.so
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk.so
/.swt/lib/hpux/ia64_32/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
/opt/IBMImage/IIM/configuration/org.eclipse.osgi/bundles/638/1/.cp/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
no swt-gtk in java.library.path
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk-4234.so
Can't load library: /.swt/lib/hpux/ia64_32/libswt-gtk.so
/.swt/lib/hpux/ia64_32/libswt-gtk-4234.so: Unable to find library 'libgcc_s.so.0'.
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.C.
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
...
The displayed failed to initialize. See the log /opt/IBMImage/IIM/configuration/1384139308959.log for details.
执行ldd验证所需要的类库是否存在
ldd /.swt/lib/hpux/ia64_32/libswt-gtk-4234.so
/.swt/lib/hpux/ia64_32/libswt-gtk-4234.so:
Unable to find library 'libgcc_s.so.0'.
问题所在:于是,可以明确知道是缺少类包导致的。
通过swlist查看相关安装类包情况
swlist | grep -i gtk
swlist | grep -i GNU_C_C++
到HP网站注册帐号并下载
GCC : http://www.hp.com/go/gcc
GTK : http://www.hp.com/go/firefox
其他有缺少的可以在这里下载
http://hpux.connect.org.uk/hppd/hpux/Gnu/
执行安装
swinstall -s /tmp/gtk_26800_ia.depot
swinstall -s /tmp/gcc-ia64-4.7.1.depot
查看依赖关是否存在
ldd /opt/hp-gcc-4.7.1/lib/hpux64/libgcc_s.so.0
/opt/hp-gcc-4.7.1/lib/hpux64/libgcc_s.so.0:
libc.so.1 => /lib/hpux64/libc.so.1
libunwind.so.1 => /lib/hpux64/libunwind.so.1
libdl.so.1 => /usr/lib/hpux64/libdl.so.1
libuca.so.1 => /usr/lib/hpux64/libuca.so.1
安装后再验证所需要的包存在的情况
将 LD_LIBRARY_PATH 加到 .profile 中
export LD_LIBRARY_PATH=/opt/hp-gcc-4.7.1/lib
ldd /.swt/lib/hpux/ia64_32/libswt-gtk-4234.so
/.swt/lib/hpux/ia64_32/libswt-gtk-4234.so:
libgcc_s.so.0 => /opt/hp-gcc-4.7.1/lib/libgcc_s.so.0
libunwind.so.1 => /usr/lib/hpux32/libunwind.so.1
libc.so.1 => /usr/lib/hpux32/libc.so.1
libunwind.so.1 => /usr/lib/hpux32/libunwind.so.1
libuca.so.1 => /usr/lib/hpux32/libuca.so.1
libdl.so.1 => /usr/lib/hpux32/libdl.so.1
一切正常,启动之,OK,可以顺利启动安装与执行了。