这两天无意中看到百度网盘又更新了,由于之前版本fedora一直无法启动,这次满怀希望下载下来,结果又是熟悉的段错误,非常失望,看到贴吧不少人关注这个问题,决定尝试解决,造福一下大家
gdb调试后报错的代码
0x00007ffff5253499 in EVP_MD_CTX_clear_flags () from /lib64/libcrypto.so.1.1
该文件由openssl-libs-1.1.1提供
将rpm包放到能运行的系统中,ldd分析baidunetdisk的动态链接库,发现使用的是libcrypto.so.10,该文件由openssl-libs-1.0.2提供,因此猜测是fedora的openssl版本太高导致,baidunetdisk暂时不支持openssl1.1.1,需要为baidunetdisk提供openssl1.0.2的运行环境
由于fedora32整个so环境都与基于openssl1.1.1,baidunetdisk运行所需的多个so,都被链接到1.1.1,因此简单装一个openssl1.0.2并不能解决问题,需要将所有链接libcrypto.so.1.1的so都替换成链接libcrypto.so.10
分析需要替换哪些so的过程就不详叙,最后就是要将下列的so添加的/opt/baidunetdisk/安装目录下
(so文件部分从centos7提取,部分由compat-openssl10-1.0.2包提供)

添加so后,尝试启动网盘,终于成功啦!

功能很简陋,暂时测试使用正常,可在线预览图片和视频
废话一大堆,最后为大家提供上so文件和我重新打包的rpm包,欢迎大家测试
sudo dnf install baidunetdisk-3.3.2-1.x86_64.rpm
嫌rpm包大的话,直接下载so文件放入/opt/baidunetdisk/网盘安装目录下即可
pan地址
链接:/s/1BcNrEtl1Z-zrt4dFeLUl_g 提取码:uo62
备链接
flong.info/repo
gdb调试后报错的代码
0x00007ffff5253499 in EVP_MD_CTX_clear_flags () from /lib64/libcrypto.so.1.1
该文件由openssl-libs-1.1.1提供
将rpm包放到能运行的系统中,ldd分析baidunetdisk的动态链接库,发现使用的是libcrypto.so.10,该文件由openssl-libs-1.0.2提供,因此猜测是fedora的openssl版本太高导致,baidunetdisk暂时不支持openssl1.1.1,需要为baidunetdisk提供openssl1.0.2的运行环境
由于fedora32整个so环境都与基于openssl1.1.1,baidunetdisk运行所需的多个so,都被链接到1.1.1,因此简单装一个openssl1.0.2并不能解决问题,需要将所有链接libcrypto.so.1.1的so都替换成链接libcrypto.so.10
分析需要替换哪些so的过程就不详叙,最后就是要将下列的so添加的/opt/baidunetdisk/安装目录下
(so文件部分从centos7提取,部分由compat-openssl10-1.0.2包提供)

添加so后,尝试启动网盘,终于成功啦!

功能很简陋,暂时测试使用正常,可在线预览图片和视频
废话一大堆,最后为大家提供上so文件和我重新打包的rpm包,欢迎大家测试
sudo dnf install baidunetdisk-3.3.2-1.x86_64.rpm
嫌rpm包大的话,直接下载so文件放入/opt/baidunetdisk/网盘安装目录下即可
pan地址
链接:/s/1BcNrEtl1Z-zrt4dFeLUl_g 提取码:uo62
备链接
flong.info/repo