GoldenDict => /lib64/libQtWebKit.so.4 error

Issues related to applications and software problems
Post Reply
chemist
Posts: 26
Joined: 2014/08/21 17:15:28

GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemist » 2019/11/11 14:13:37

Hello,

Launching Goldendict as regular user crashes with the following error:

Code: Select all

$ goldendict
goldendict: symbol lookup error: /lib64/libQtWebKit.so.4: undefined symbol: _ZN10QSslSocket16staticMetaObjectE


At the same time, as root or using sudo, the program launches w/o pb. What's the trick and how to fix it ?
Thanks,

tunk
Posts: 1205
Joined: 2017/02/22 15:08:17

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by tunk » 2019/11/11 14:43:18

I don't know what your problems is, but you may start by comparing
environmental variables (e.g. env |grep -e QT -e PATH). You could
also run this: strings /lib64/libQtWebKit.so.4|grep ZN10QS

chemist
Posts: 26
Joined: 2014/08/21 17:15:28

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemist » 2019/11/11 15:03:50

tunk wrote:
2019/11/11 14:43:18
I don't know what your problems is, but you may start by comparing
environmental variables (e.g. env |grep -e QT -e PATH). You could
also run this: strings /lib64/libQtWebKit.so.4|grep ZN10QS

Code: Select all

$ env |grep -e QT -e PATH
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
QT_GRAPHICSSYSTEM_CHECKED=1
LD_LIBRARY_PATH=/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09:/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09:/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09:/opt/gv/lib:/opt/gv/lib:/opt/gv/lib
PATH=/opt/gview:/opt/molden:/opt/MATLAB/bin:/usr/lib64/ccache:/opt/gview:/opt/molden:/opt/MATLAB/R2019b/bin:/opt/gview:/opt/molden:/opt/MATLAB/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/var/lib/snapd/snap/bin:/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09:/home/EK/.local/bin:/home/EK/bin:/usr/bin:/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09:/opt/g09/bsd:/opt/g09/local:/opt/g09/extras:/opt/g09
QTLIB=/usr/lib64/qt-3.3/lib
WINDOWPATH=1
QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins:/home/KIRILLOV/.kde/lib64/kde4/plugins/:/usr/lib64/kde4/plugins/

Code: Select all

$ strings /lib64/libQtWebKit.so.4|grep ZN10QS
_ZN10QSslSocket16staticMetaObjectE
_ZN10QSslSocketC1EP7QObject
_ZN10QSslSocket22connectToHostEncryptedERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE
In addition,
if I do as regular user:

Code: Select all

$ ldd -r  /lib64/libQtWebKit.so.4
        linux-vdso.so.1 =>  (0x00007ffdbff7a000)
        libXrender.so.1 => /lib64/libXrender.so.1 (0x0000145e24eba000)
        libjpeg.so.62 => /lib64/libjpeg.so.62 (0x0000145e24c65000)
        libpng15.so.15 => /lib64/libpng15.so.15 (0x0000145e24a3a000)
        libwebp.so.4 => /lib64/libwebp.so.4 (0x0000145e247ea000)
        libxslt.so.1 => /lib64/libxslt.so.1 (0x0000145e245ab000)
        libz.so.1 => /lib64/libz.so.1 (0x0000145e24395000)
        libdl.so.2 => /lib64/libdl.so.2 (0x0000145e24191000)
        libgio-2.0.so.0 => /lib64/libgio-2.0.so.0 (0x0000145e23df2000)
        libgstapp-0.10.so.0 => /lib64/libgstapp-0.10.so.0 (0x0000145e23be6000)
        libgstinterfaces-0.10.so.0 => /lib64/libgstinterfaces-0.10.so.0 (0x0000145e239d4000)
        libgstpbutils-0.10.so.0 => /lib64/libgstpbutils-0.10.so.0 (0x0000145e237b0000)
        libgstvideo-0.10.so.0 => /lib64/libgstvideo-0.10.so.0 (0x0000145e23593000)
        libgstbase-0.10.so.0 => /lib64/libgstbase-0.10.so.0 (0x0000145e2333f000)
        libgstreamer-0.10.so.0 => /lib64/libgstreamer-0.10.so.0 (0x0000145e23056000)
        libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000145e22e05000)
        libgmodule-2.0.so.0 => /lib64/libgmodule-2.0.so.0 (0x0000145e22c01000)
        libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x0000145e229ff000)
        libxml2.so.2 => /lib64/libxml2.so.2 (0x0000145e22695000)
        libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000145e2237f000)
        libsqlite3.so.0 => /lib64/libsqlite3.so.0 (0x0000145e220ca000)
        libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x0000145e21e88000)
        libfreetype.so.6 => /lib64/libfreetype.so.6 (0x0000145e21bc9000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x0000145e219ad000)
        libQtOpenGL.so.4 => /opt/gv/lib/libQtOpenGL.so.4 (0x0000145e217a0000)
        libQtGui.so.4 => /opt/gv/lib/libQtGui.so.4 (0x0000145e20b1b000)
        libQtNetwork.so.4 => /opt/gv/lib/libQtNetwork.so.4 (0x0000145e208ec000)
        libQtCore.so.4 => /opt/gv/lib/libQtCore.so.4 (0x0000145e204c2000)
        libGL.so.1 => /lib64/libGL.so.1 (0x0000145e20219000)
        libXext.so.6 => /lib64/libXext.so.6 (0x0000145e20007000)
        libX11.so.6 => /lib64/libX11.so.6 (0x0000145e1fcc9000)
        libm.so.6 => /lib64/libm.so.6 (0x0000145e1f9c7000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000145e1f6c0000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000145e1f4aa000)
        libc.so.6 => /lib64/libc.so.6 (0x0000145e1f0dc000)
        /lib64/ld-linux-x86-64.so.2 (0x0000145e274ae000)
        libffi.so.6 => /lib64/libffi.so.6 (0x0000145e1eed4000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x0000145e1ec72000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x0000145e1ea4b000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x0000145e1e832000)
        libmount.so.1 => /lib64/libmount.so.1 (0x0000145e1e5ef000)
        liborc-0.4.so.0 => /lib64/liborc-0.4.so.0 (0x0000145e1e36b000)
        liblzma.so.5 => /lib64/liblzma.so.5 (0x0000145e1e145000)
        libexpat.so.1 => /lib64/libexpat.so.1 (0x0000145e1df1b000)
        libuuid.so.1 => /lib64/libuuid.so.1 (0x0000145e1dd16000)
        libbz2.so.1 => /lib64/libbz2.so.1 (0x0000145e1db06000)
        libSM.so.6 => /lib64/libSM.so.6 (0x0000145e1d8fe000)
        libICE.so.6 => /lib64/libICE.so.6 (0x0000145e1d6e2000)
        librt.so.1 => /lib64/librt.so.1 (0x0000145e1d4da000)
        libGLX.so.0 => /lib64/libGLX.so.0 (0x0000145e1d2aa000)
        libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x0000145e1cfd7000)
        libxcb.so.1 => /lib64/libxcb.so.1 (0x0000145e1cdaf000)
        libblkid.so.1 => /lib64/libblkid.so.1 (0x0000145e1cb6f000)
        libXau.so.6 => /lib64/libXau.so.6 (0x0000145e1c96b000)
undefined symbol: _ZN10QSslSocket16staticMetaObjectE    (/lib64/libQtWebKit.so.4)
undefined symbol: _ZN10QSslSocketC1EP7QObject   (/lib64/libQtWebKit.so.4)
undefined symbol: _ZN10QSslSocket22connectToHostEncryptedERK7QStringt6QFlagsIN9QIODevice12OpenModeFlagEE        (/lib64/libQtWebKit.so.4)
undefined symbol: _ZNK9QSslError5errorEv        (/lib64/libQtWebKit.so.4)

Then the four last strings do not appear in the output when the same command "ldd -r /lib64/libQtWebKit.so.4" was run as root.
Reinstalling qt doesn't help...

chemal
Posts: 776
Joined: 2013/12/08 19:44:49

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemal » 2019/11/11 15:45:56

chemist wrote:
2019/11/11 15:03:50

Code: Select all

        ...
        libQtOpenGL.so.4 => /opt/gv/lib/libQtOpenGL.so.4 (0x0000145e217a0000)
        libQtGui.so.4 => /opt/gv/lib/libQtGui.so.4 (0x0000145e20b1b000)
        libQtNetwork.so.4 => /opt/gv/lib/libQtNetwork.so.4 (0x0000145e208ec000)
        libQtCore.so.4 => /opt/gv/lib/libQtCore.so.4 (0x0000145e204c2000)
        ...
Your user's setting of LD_LIBRARY_PATH sneaks in parts of somebody else's Qt.

chemist
Posts: 26
Joined: 2014/08/21 17:15:28

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemist » 2019/11/11 17:43:55

chemal wrote:
2019/11/11 15:45:56
chemist wrote:
2019/11/11 15:03:50

Code: Select all

        ...
        libQtOpenGL.so.4 => /opt/gv/lib/libQtOpenGL.so.4 (0x0000145e217a0000)
        libQtGui.so.4 => /opt/gv/lib/libQtGui.so.4 (0x0000145e20b1b000)
        libQtNetwork.so.4 => /opt/gv/lib/libQtNetwork.so.4 (0x0000145e208ec000)
        libQtCore.so.4 => /opt/gv/lib/libQtCore.so.4 (0x0000145e204c2000)
        ...
Your user's setting of LD_LIBRARY_PATH sneaks in parts of somebody else's Qt.
this is a molecular visualization program in /opt/gv that should be using its own libraries

how can I restitute the global LD_LIBRARY_PATH ?

chemal
Posts: 776
Joined: 2013/12/08 19:44:49

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemal » 2019/11/11 18:42:35

Code: Select all

$ env -u LD_LIBRARY_PATH goldendict
should work.

Another idea is to only add /opt/gv/lib to LD_LIBRARY_PATH for those programs that need it. Let's say there is an executable /opt/gv/bin/foo. Then you can create a wrapper script in /usr/local/bin/foo with this content:

Code: Select all

#!/bin/sh
export LD_LIBRARY_PATH=/opt/gv/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
exec /opt/gv/bin/foo
For this to work you don't add /opt/gv/bin to PATH or /opt/gv/lib to LD_LIBRARY_PATH at login.

chemist
Posts: 26
Joined: 2014/08/21 17:15:28

Re: GoldenDict => /lib64/libQtWebKit.so.4 error

Post by chemist » 2019/11/11 19:38:21

chemal wrote:
2019/11/11 18:42:35

Code: Select all

$ env -u LD_LIBRARY_PATH goldendict
should work.

Another idea is to only add /opt/gv/lib to LD_LIBRARY_PATH for those programs that need it. Let's say there is an executable /opt/gv/bin/foo. Then you can create a wrapper script in /usr/local/bin/foo with this content:

Code: Select all

#!/bin/sh
export LD_LIBRARY_PATH=/opt/gv/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
exec /opt/gv/bin/foo
For this to work you don't add /opt/gv/bin to PATH or /opt/gv/lib to LD_LIBRARY_PATH at login.
Everything works, thanks a lot !!!

Post Reply