shadowsocks / shadowsocks-qt5

A cross-platform shadowsocks GUI client
GNU Lesser General Public License v3.0
7.97k stars 2.33k forks source link

libQtShadowsocks.so #814

Closed leijie2015 closed 5 years ago

leijie2015 commented 5 years ago

I am using Fedora30, just downloaded shadowsocks etc.. from copr. But when I am trying to start shadowsocks-qt5, nothing pops out... So I looked into logs, and found ss-qt5 cant start properly like below. Could you take a look? Thanks

[root@localhost lib64]# ss-qt5 
ss-qt5: symbol lookup error: /lib64/libQtShadowsocks.so.2: undefined symbol: _ZN5Botan16MDx_HashFunctionC2Embbm

And I have QtShadowsocks lib as below

[root@localhost lib64]# ll | grep -i qtshadowsocks
lrwxrwxrwx.  1 root root        21 Nov  6  2018 libQtShadowsocks.so -> libQtShadowsocks.so.2
lrwxrwxrwx.  1 root root        25 Nov  6  2018 libQtShadowsocks.so.2 -> libQtShadowsocks.so.2.1.0
-rwxr-xr-x.  1 root root    344552 Nov  6  2018 libQtShadowsocks.so.2.1.0
[root@localhost lib64]# ldd /usr/bin/ss-qt5 
    linux-vdso.so.1 (0x00007ffe6fb35000)
    libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f1ef271a000)
    libQt5Network.so.5 => /lib64/libQt5Network.so.5 (0x00007f1ef255d000)
    libQtShadowsocks.so.2 => /lib64/libQtShadowsocks.so.2 (0x00007f1ef2513000)
    libqrencode.so.3 => /lib64/libqrencode.so.3 (0x00007f1ef2503000)
    libzbar.so.0 => /lib64/libzbar.so.0 (0x00007f1ef24c1000)
    libQt5DBus.so.5 => /lib64/libQt5DBus.so.5 (0x00007f1ef2425000)
    libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f1ef1eeb000)
    libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f1ef19cd000)
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1ef17d4000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f1ef168e000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f1ef1674000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1ef14ae000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1ef148b000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f1ef1471000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f1ef146b000)
    libssl.so.1.1 => /lib64/libssl.so.1.1 (0x00007f1ef13d5000)
    libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007f1ef10f6000)
    libbotan-2.so.8 => /lib64/libbotan-2.so.8 (0x00007f1ef0b6d000)
    libdbus-1.so.3 => /lib64/libdbus-1.so.3 (0x00007f1ef0b15000)
    libv4l2.so.0 => /lib64/libv4l2.so.0 (0x00007f1ef0b05000)
    libX11.so.6 => /lib64/libX11.so.6 (0x00007f1ef09c0000)
    libXv.so.1 => /lib64/libXv.so.1 (0x00007f1ef09b9000)
    libGL.so.1 => /lib64/libGL.so.1 (0x00007f1ef0925000)
    libpng16.so.16 => /lib64/libpng16.so.16 (0x00007f1ef08ef000)
    libharfbuzz.so.0 => /lib64/libharfbuzz.so.0 (0x00007f1ef07e0000)
    libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f1ef0730000)
    libicui18n.so.63 => /lib64/libicui18n.so.63 (0x00007f1ef044a000)
    libicuuc.so.63 => /lib64/libicuuc.so.63 (0x00007f1ef0277000)
    libpcre2-16.so.0 => /lib64/libpcre2-16.so.0 (0x00007f1ef01fc000)
    libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f1ef00d8000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1ef3062000)
    libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f1ef00c2000)
    librt.so.1 => /lib64/librt.so.1 (0x00007f1ef00b8000)
    libv4lconvert.so.0 => /lib64/libv4lconvert.so.0 (0x00007f1ef003c000)
    libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f1ef0011000)
    libXext.so.6 => /lib64/libXext.so.6 (0x00007f1eefffc000)
    libGLX.so.0 => /lib64/libGLX.so.0 (0x00007f1eeffc6000)
    libGLdispatch.so.0 => /lib64/libGLdispatch.so.0 (0x00007f1eeff09000)
    libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f1eefe4c000)
    libgraphite2.so.3 => /lib64/libgraphite2.so.3 (0x00007f1eefe1e000)
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f1eefdf5000)
    liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f1eefdd6000)
    libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f1eefcb6000)
    libicudata.so.63 => /lib64/libicudata.so.63 (0x00007f1eee2c6000)
    libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f1eee252000)
    libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f1eee1cd000)
    libXau.so.6 => /lib64/libXau.so.6 (0x00007f1eee1c7000)
    libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f1eee1a2000)
[root@localhost lib64]# strings libQtShadowsocks.so | grep _ZN5Botan16MDx_HashFunctionC2Embbm
_ZN5Botan16MDx_HashFunctionC2Embbm

any idea what should I do?

leijie2015 commented 5 years ago

Fixed the problem:

  1. download botan2-2.7.0 from following link etc (mind the architecture suits your machine) https://fedora.pkgs.org/29/fedora-x86_64/botan2-2.7.0-3.fc29.x86_64.rpm.html

  2. install it forcely on your machine rpm -ivh --force botan2-2.7.0-3.fc29.x86_64.rpm

  3. re-create libbotan-2.so.8 soft link to this lower version [root@localhost lib64]# rm libbotan-2.so.8 [root@localhost lib64]# ln -s libbotan-2.so.7 libbotan-2.so.8

  4. off you go

referecne link: https://github.com/shadowsocks/shadowsocks-qt5/issues/783