[Seek Help] 求救,libcurl被我搞炸了。。
Tofloor
poster avatar
orzorc
deepin
2021-12-09 00:14
Author

写了个程序,结果运行出错,就按照网上的方法把openssl升级到了1.1.1g

然后现在curl就会报错,有些依赖libcurl的也报错,都是

/lib/x86_64-linux-gnu/libcurl.so.4: symbol GMTLSv1_1_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference

网上都是说用ldconfig一下就好了,可是对我来说没有用sob

要怎么恢复呢?

想着用apt重装,结果说已经装过了,openssl 已经是最新版 (1.1.1d.6-1)

想要先apt remove openssl再重装,结果会一并移除掉一堆东西:

image.png

Reply Favorite View the author
All Replies
babyfengfjx
Super Moderator
CQA
2021-12-09 00:16
#1

顶帖,求大佬协助,我就是来看你怎么修复的😄

Reply View the author
deepin-superuser
deepin
2021-12-09 00:29
#2

你可以用升级 1.1.1g 的方法安装 1.1.0

例如我从网上找的

wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz
tar xf openssl-1.1.0g.tar.gz
cd openssl-1.1.0g/
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
Reply View the author
orzorc
deepin
2021-12-09 00:49
#3
deepin-superuser

你可以用升级 1.1.1g 的方法安装 1.1.0

例如我从网上找的

wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz
tar xf openssl-1.1.0g.tar.gz
cd openssl-1.1.0g/
./config --prefix=/usr/local/openssl
make && make install
mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

其实已经试过了,我从openssl官网上下载了1.1.1d,然后按照我升级1.1.1g的方法装回去了,但是问题还是存在

Reply View the author
deepin-superuser
deepin
2021-12-09 00:54
#4
orzorc

其实已经试过了,我从openssl官网上下载了1.1.1d,然后按照我升级1.1.1g的方法装回去了,但是问题还是存在

是 1.1.0 不要 1.1.1

Reply View the author
deepin-superuser
deepin
2021-12-09 01:03
#5

sudo aptitude reinstall openssl

重装一下试试呢

Reply View the author
orzorc
deepin
2021-12-09 01:11
#6
deepin-superuser

是 1.1.0 不要 1.1.1

因为原来apt装出来的是1.1.1d,所以我想的是还原回去

Reply View the author
orzorc
deepin
2021-12-09 02:08
#7
deepin-superuser

sudo aptitude reinstall openssl

重装一下试试呢

也不行,重装openssl,libcurl都试了

Reply View the author
wtz
deepin
2021-12-09 03:30
#8

下载安装包然后手动安装呢?

我比较好奇为啥你的curl会依赖1.1.0版本的openssl,是用了不同的仓库吗?

Reply View the author
orzorc
deepin
2021-12-09 03:40
#9
wtz

下载安装包然后手动安装呢?

我比较好奇为啥你的curl会依赖1.1.0版本的openssl,是用了不同的仓库吗?

我没有改动过这些,只是手动安装了一个openssl

我刚刚试了一下下载1.1.0版本libssl给libcurl链接上,结果就是require 1.1.1

所以关键是这个GMTLSv1_1_client_method东西,我在curl和openssl里面都没有搜到这个东西,网上的信息也很少,不知道为什么这个会需要

Reply View the author
orzorc
deepin
2021-12-09 03:41
#10
babyfengfjx

顶帖,求大佬协助,我就是来看你怎么修复的😄

有没有什么办法在保留home目录的情况下重置一下系统吗sweat

我已经放弃了,不想折腾了

Reply View the author
babyfengfjx
Super Moderator
CQA
2021-12-09 16:55
#11
orzorc

有没有什么办法在保留home目录的情况下重置一下系统吗sweat

我已经放弃了,不想折腾了

是不是可以手动安装,把原来那个home分区保留就阔以,或者先备份数据,装完再把数据倒腾回去joy

Reply View the author
🐝
deepin
2022-09-06 23:13
#12

我也遇到了这个问题wget和curl都报错

wget: relocation error: wget: symbol GMTLSv1_1_client_method 
version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference
curl: relocation error: /usr/lib/x86_64-linux-gnu/libcurl.so.4: symbol GMTLSv1_1_client_method 
version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference

GMTLS 这个GM是国密的缩写的意思,是使用国密算法加强的版本

Reply View the author