shadowsocks / shadowsocks-qt5

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

After fedora29 updated to the latest version (2019-2-20),ss cannot find libbotan-2.so.8 #785

Closed disadone closed 5 years ago

disadone commented 5 years ago

ss-qt5: error while loading shared libraries: libbotan-2.so.8: cannot open shared object file: No such file or directory

botan-2.8 is not contained in fedora repo anymore. Neither soft link or hard link of libbotan-2.so.9 can solve this problem.

current solution: see v21cesc

昨天(2019.2.20)更新系统后发生了这个问题,之前都用的很好。

我发现是botan2升级到2.9了,软或硬链接后,ss-qt5报告另一种错误,关于/lib64/libQt5shadowsocks-2.1文件的,没法解决这个问题。

然后尝试降级botan2,发现只能降到2.7?用dnf history 查原来的版本是2.8。这有点无解。

根据这个 https://pkgs.org/download/botan2 好像只有这两个版本。

最后感谢作者!

v21cesc commented 5 years ago

就是2.8版本在软件仓库中没了 只能找到2.7和2.9 但这个包却不偏不倚就依赖2.8。。

v21cesc commented 5 years ago

已经解决了 降到2.7 然后到cd到/usr/lib64/下 sudo ln -s libbotan-2.so.7 libbotan-2.so.8 创建软链接就行了。 但如果版本高了 比如2.9这么做就不行了

disadone commented 5 years ago

@v21cesc 谢谢啦。 好神奇

EGQM commented 5 years ago

这个问题,应该不是由shadowsocks-qt5造成。我觉得是:shadowsocks-qt5依赖libQtShadowsocks,而libQtShadowsocks依赖botan2;fedora29升级了botan2后,原来的接口已被改变,shadowsocks-qt5调用libQtShadowsocks时,libQtShadowsocks运行异常。我处理的方法是: sudo yum update #使得botan2升级到最高的版本 sudo yum install botan2-devel 然后卸载系统上使用包管理器安装的libQtShadowsocks-devel sudo dnf remove libQtShadowsocks-devel libQtShadowsocks 最后,编译安装libQtShadowsocks git clone https://github.com/shadowsocks/libQtShadowsocks cd libQtShadowsocks mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr make -j4 sudo make install 完活。我按上面的操作后,验证可行。

waynezwf commented 5 years ago

已经解决了 降到2.7 然后到cd到/usr/lib64/下 sudo ln -s libbotan-2.so.7 libbotan-2.so.8 创建软链接就行了。 但如果版本高了 比如2.9这么做就不行了

按照你的方法,我解决问题了!升级到29,出的问题,感谢!

shiptux commented 5 years ago

这个问题,应该不是由shadowsocks-qt5造成。我觉得是:shadowsocks-qt5依赖libQtShadowsocks,而libQtShadowsocks依赖botan2;fedora29升级了botan2后,原来的接口已被改变,shadowsocks-qt5调用libQtShadowsocks时,libQtShadowsocks运行异常。我处理的方法是: sudo yum update #使得botan2升级到最高的版本 sudo yum install botan2-devel 然后卸载系统上使用包管理器安装的libQtShadowsocks-devel sudo dnf remove libQtShadowsocks-devel libQtShadowsocks 最后,编译安装libQtShadowsocks git clone https://github.com/shadowsocks/libQtShadowsocks cd libQtShadowsocks mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr make -j4 sudo make install 完活。我按上面的操作后,验证可行。

按照你的问题,我遇到了另一个问题。 编译中断。 In file included from /home/lucs/libQtShadowsocks/lib/crypto/chacha.h:30, from /home/lucs/libQtShadowsocks/lib/crypto/chacha.cpp:23: /home/lucs/libQtShadowsocks/lib/util/export.h:4:10: 致命错误:QtGlobal:No such file or directory

include

      ^~~~~~~~~~

我不知道是哪一个软件包提供了这个头文件.

EGQM commented 5 years ago

@shiptux 应该是pyQt5的相关库没有安装

LzjB commented 5 years ago

我降级失败后,把2.7的rpm 下载下来,rpm2cpio 提取文件 cmake 生成文件,make 编译,完事有三个2.7 .so 移动到 /usr/lib64/ 软件是起来了,但是连接的时候 Latency 还是Error 不知道咋弄

v21cesc commented 5 years ago

我降级失败后,把2.7的rpm 下载下来,rpm2cpio 提取文件 cmake 生成文件,make 编译,完事有三个2.7 .so 移动到 /usr/lib64/ 软件是起来了,但是连接的时候 Latency 还是Error 不知道咋弄

sudo dnf remove原来的版本 然后 进入你存放2.7版本的目录 sudo dnf install ./botan2-2.7.....rpm 最后创建软链接 直接拷3个so我也不清楚会不会漏掉什么东西

v21cesc commented 5 years ago

这个问题,应该不是由shadowsocks-qt5造成。我觉得是:shadowsocks-qt5依赖libQtShadowsocks,而libQtShadowsocks依赖botan2;fedora29升级了botan2后,原来的接口已被改变,shadowsocks-qt5调用libQtShadowsocks时,libQtShadowsocks运行异常。我处理的方法是: sudo yum update #使得botan2升级到最高的版本 sudo yum install botan2-devel 然后卸载系统上使用包管理器安装的libQtShadowsocks-devel sudo dnf remove libQtShadowsocks-devel libQtShadowsocks 最后,编译安装libQtShadowsocks git clone https://github.com/shadowsocks/libQtShadowsocks cd libQtShadowsocks mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=/usr make -j4 sudo make install 完活。我按上面的操作后,验证可行。

这个我试了确实一劳永逸2.9版本也可以用。

disadone commented 5 years ago

@shiptux 我装了qt5和qt5-devel,完事后删除

takeonelayer commented 5 years ago

@shiptux 我装了qt5和qt5-devel,完事后删除

表示另外我还安装了python3-qt5。确实自己编译之后问题就解决了,预编译的版本还是有问题。