案例说明:
在CentOS 7上安装KingbaseES V8R6C006数据库后,启动Kstudio图形界面启动失败,gtk动态库加载失败,安装gtk相关动态库后,问题解决。
适用版本:
KingbaseES V8R6C006
故障现象:
启动Kstudio:
问题分析:
加载动态库:
[kingbase@node102 .cp]$ pwd
/opt/Kingbase/ES/V8R6_C6/ClientTools/guitools/KStudio/configuration/org.eclipse.osgi/188/0/.cp
[kingbase@node102 .cp]$ ldd -r libswt-pi3-gtk-4944r26.so
ldd: warning: you do not have execution permission for `./libswt-pi3-gtk-4944r26.so'
undefined symbol: g_list_model_get_item (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_popover_popdown (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_label_set_xalign (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_native_dialog_show (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_native_dialog_run (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_label_set_yalign (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gtk_popover_popup (./libswt-pi3-gtk-4944r26.so)
undefined symbol: g_list_model_get_n_items (./libswt-pi3-gtk-4944r26.so)
undefined symbol: gdk_device_get_seat (./libswt-pi3-gtk-4944r26.so)
linux-vdso.so.1 => (0x00007ffc5b9fc000)
libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f209fec6000)
libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f209fc30000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f209f908000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f209f706000)
libc.so.6 => /lib64/libc.so.6 (0x00007f209f345000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f209f140000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f209ef33000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f209ebf5000)
libXi.so.6 => /lib64/libXi.so.6 (0x00007f209e9e4000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f209e7de000)
libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f209e5d5000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f209e3ae000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f209e188000)
libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0 (0x00007f209df5d000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f209dd47000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f209dafc000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f209d8c0000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f209d549000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f209d2f9000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f209cfc2000)
libm.so.6 => /lib64/libm.so.6 (0x00007f209ccbf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f209caa3000)
libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f209c8a0000)
libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f209c695000)
libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f209c48a000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f209c287000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f209c083000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f209be71000)
libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f209bbc4000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f209b91d000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f209b6fc000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f209b4f8000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f209b2cc000)
libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f209b0c8000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f209aebe000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f209ac9b000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f209aa91000)
libz.so.1 => /lib64/libz.so.1 (0x00007f209a87b000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f209a5e3000)
librt.so.1 => /lib64/librt.so.1 (0x00007f209a3db000)
/lib64/ld-linux-x86-64.so.2 (0x00007f20a0a16000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f209a181000)
libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f2099f5a000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f2099d11000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f2099ae7000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f20998de000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f20996b9000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f209949f000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f209929c000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f2099097000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f2098e8e000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f2098c8a000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f2098a7e000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f2098870000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f209866c000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f209843d000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f2098223000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f2098020000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f2097e1c000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f2097c0e000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f2097a07000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f2097803000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f20975fd000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f20973e0000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f209717f000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f2096f5a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2096d43000)
问题解决:
1、配置LD_LIBRARY_PATH参数,问题没有解决,从故障信息看,应该是gtk的动态库,需要在操作系统环境加载。
2、安装gtk动态库
[root@node102 ~]# yum install -y libgtk*
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
......
Installed:
gtk-vnc.x86_64 0:0.7.0-3.el7 gtk3.x86_64 0:3.22.30-8.el7_9 gtkspell.x86_64 0:2.0.16-8.el7 oxygen-gtk.noarch 0:1.2.0-6.el7
Dependency Installed:
fribidi.x86_64 0:1.0.2-1.el7_7.1 fribidi-devel.x86_64 0:1.0.2-1.el7_7.1 graphite2-devel.x86_64 0:1.3.10-1.el7_3
gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 libepoxy-devel.x86_64 0:1.5.2-1.el7 libwayland-client.x86_64 0:1.15.0-1.el7
libwayland-cursor.x86_64 0:1.15.0-1.el7 libwayland-egl.x86_64 0:1.15.0-1.el7 libwayland-server.x86_64 0:1.15.0-1.el7
libxkbcommon.x86_64 0:0.7.1-3.el7 libxkbcommon-devel.x86_64 0:0.7.1-3.el7 wayland-devel.x86_64 0:1.15.0-1.el7
wayland-protocols-devel.noarch 0:1.14-1.el7
Updated:
gtk-vnc2.x86_64 0:0.7.0-3.el7 gtk2.x86_64 0:2.24.31-1.el7 gtkmm24.x86_64 0:2.24.5-1.el7 gtkmm30.x86_64 0:3.22.2-1.el7
gtksourceview3.x86_64 0:3.24.8-2.el7
Dependency Updated:
atk.x86_64 0:2.28.1-2.el7 atk-devel.x86_64 0:2.28.1-2.el7 atkmm.x86_64 0:2.24.2-1.el7
cairomm.x86_64 0:1.12.0-1.el7 fontconfig.x86_64 0:2.13.0-4.3.el7 fontconfig-devel.x86_64 0:2.13.0-4.3.el7
freetype.x86_64 0:2.8-14.el7_9.1 freetype-devel.x86_64 0:2.8-14.el7_9.1 gdk-pixbuf2.x86_64 0:2.36.12-3.el7
gdk-pixbuf2-devel.x86_64 0:2.36.12-3.el7 glib2.x86_64 0:2.56.1-9.el7_9 glib2-devel.x86_64 0:2.56.1-9.el7_9
glibmm24.x86_64 0:2.56.0-1.el7 graphite2.x86_64 0:1.3.10-1.el7_3 gtk2-devel.x86_64 0:2.24.31-1.el7
gtk2-devel-docs.x86_64 0:2.24.31-1.el7 gtk2-immodule-xim.x86_64 0:2.24.31-1.el7 gtk3-devel.x86_64 0:3.22.30-8.el7_9
gtk3-immodule-xim.x86_64 0:3.22.30-8.el7_9 gvnc.x86_64 0:0.7.0-3.el7 harfbuzz.x86_64 0:1.7.5-2.el7
harfbuzz-devel.x86_64 0:1.7.5-2.el7 harfbuzz-icu.x86_64 0:1.7.5-2.el7 libXrandr.x86_64 0:1.5.1-2.el7
libXrandr-devel.x86_64 0:1.5.1-2.el7 libepoxy.x86_64 0:1.5.2-1.el7 libsigc++20.x86_64 0:2.10.0-1.el7
pango.x86_64 0:1.42.4-4.el7_7 pango-devel.x86_64 0:1.42.4-4.el7_7 pangomm.x86_64 0:2.40.1-1.el7
xorg-x11-proto-devel.noarch 0:2018.4-1.el7
Replaced:
oxygen-gtk3.x86_64 1:1.1.4-3.el7
Complete!
3、测试gtk动态库加载(加载成功)
[root@node102 .cp]# ldd -r libswt-pi3-gtk-4944r26.so
ldd: warning: you do not have execution permission for `./libswt-pi3-gtk-4944r26.so'
linux-vdso.so.1 => (0x00007ffc8c6da000)
libgtk-3.so.0 => /lib64/libgtk-3.so.0 (0x00007f4498a0a000)
libgdk-3.so.0 => /lib64/libgdk-3.so.0 (0x00007f4498720000)
libcairo.so.2 => /lib64/libcairo.so.2 (0x00007f44983f8000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x00007f44981f6000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4497e35000)
libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x00007f4497c30000)
libpangocairo-1.0.so.0 => /lib64/libpangocairo-1.0.so.0 (0x00007f4497a22000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f44976e4000)
libXi.so.6 => /lib64/libXi.so.6 (0x00007f44974d3000)
libXfixes.so.3 => /lib64/libXfixes.so.3 (0x00007f44972cd000)
libcairo-gobject.so.2 => /lib64/libcairo-gobject.so.2 (0x00007f44970c4000)
libgdk_pixbuf-2.0.so.0 => /lib64/libgdk_pixbuf-2.0.so.0 (0x00007f4496e9b000)
libatk-1.0.so.0 => /lib64/libatk-1.0.so.0 (0x00007f4496c75000)
libatk-bridge-2.0.so.0 => /lib64/libatk-bridge-2.0.so.0 (0x00007f4496a4a000)
libwayland-client.so.0 => /lib64/libwayland-client.so.0 (0x00007f449683a000)
libepoxy.so.0 => /lib64/libepoxy.so.0 (0x00007f449650e000)
libpangoft2-1.0.so.0 => /lib64/libpangoft2-1.0.so.0 (0x00007f44962f8000)
libpango-1.0.so.0 => /lib64/libpango-1.0.so.0 (0x00007f44960b1000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f4495e6f000)
libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x00007f4495acf000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x00007f449587d000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f4495567000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4495265000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4495048000)
libXinerama.so.1 => /lib64/libXinerama.so.1 (0x00007f4494e45000)
libXrandr.so.2 => /lib64/libXrandr.so.2 (0x00007f4494c3a000)
libXcursor.so.1 => /lib64/libXcursor.so.1 (0x00007f4494a2e000)
libXcomposite.so.1 => /lib64/libXcomposite.so.1 (0x00007f449482b000)
libXdamage.so.1 => /lib64/libXdamage.so.1 (0x00007f4494628000)
libxkbcommon.so.0 => /lib64/libxkbcommon.so.0 (0x00007f44943e7000)
libwayland-cursor.so.0 => /lib64/libwayland-cursor.so.0 (0x00007f44941df000)
libwayland-egl.so.1 => /lib64/libwayland-egl.so.1 (0x00007f4493fdd000)
libXext.so.6 => /lib64/libXext.so.6 (0x00007f4493dca000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4493bc2000)
libpixman-1.so.0 => /lib64/libpixman-1.so.0 (0x00007f4493914000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f4493655000)
libEGL.so.1 => /lib64/libEGL.so.1 (0x00007f4493434000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4493230000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f4493004000)
libxcb-shm.so.0 => /lib64/libxcb-shm.so.0 (0x00007f4492e00000)
libxcb-render.so.0 => /lib64/libxcb-render.so.0 (0x00007f4492bf6000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f44929d3000)
libXrender.so.1 => /lib64/libXrender.so.1 (0x00007f44927c9000)
libz.so.1 => /lib64/libz.so.1 (0x00007f44925b3000)
libGL.so.1 => /lib64/libGL.so.1 (0x00007f449231b000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f44920ba000)
/lib64/ld-linux-x86-64.so.2 (0x00007f44995ac000)
libatspi.so.0 => /lib64/libatspi.so.0 (0x00007f4491e92000)
libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f4491c4a000)
libffi.so.6 => /lib64/libffi.so.6 (0x00007f4491a42000)
libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f44917a4000)
libthai.so.0 => /lib64/libthai.so.0 (0x00007f4491598000)
libfribidi.so.0 => /lib64/libfribidi.so.0 (0x00007f449137c000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f4491151000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x00007f4490f4c000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f4490d27000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f4490b0c000)
libmount.so.1 => /lib64/libmount.so.1 (0x00007f44908cd000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f44906b7000)
libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f44904a6000)
libX11-xcb.so.1 => /lib64/libX11-xcb.so.1 (0x00007f44902a4000)
libxcb-dri2.so.0 => /lib64/libxcb-dri2.so.0 (0x00007f449009e000)
libxcb-xfixes.so.0 => /lib64/libxcb-xfixes.so.0 (0x00007f448fe96000)
libxcb-shape.so.0 => /lib64/libxcb-shape.so.0 (0x00007f448fc92000)
libgbm.so.1 => /lib64/libgbm.so.1 (0x00007f448fa85000)
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007f448f878000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f448f673000)
libglapi.so.0 => /lib64/libglapi.so.0 (0x00007f448f445000)
libxcb-glx.so.0 => /lib64/libxcb-glx.so.0 (0x00007f448f22b000)
libxcb-dri3.so.0 => /lib64/libxcb-dri3.so.0 (0x00007f448f027000)
libxcb-present.so.0 => /lib64/libxcb-present.so.0 (0x00007f448ee24000)
libxcb-randr.so.0 => /lib64/libxcb-randr.so.0 (0x00007f448ec16000)
libxcb-sync.so.1 => /lib64/libxcb-sync.so.1 (0x00007f448ea0e000)
libxshmfence.so.1 => /lib64/libxshmfence.so.1 (0x00007f448e80b000)
libXxf86vm.so.1 => /lib64/libXxf86vm.so.1 (0x00007f448e605000)
libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f448e3d6000)
liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f448e1b1000)
libblkid.so.1 => /lib64/libblkid.so.1 (0x00007f448df73000)
启动Kstudio界面: