卷曲:符号查找错误:卷曲:未定义的符号:curl_url_cleanup

PS9*_*S95 3 ubuntu curl libcurl ubuntu-20.04

我在 Ubuntu 20.04.2 LTS (fossa-charmander-14 X60) 中遇到这个问题。我购买了新的 DELL Latitude 5420。当我键入命令“curl”时,会出现此错误。

curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
Run Code Online (Sandbox Code Playgroud)
parveen@eagle:~$ sudo apt install curl
[sudo] password for parveen: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
curl is already the newest version (7.68.0-1ubuntu2.7).
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
Run Code Online (Sandbox Code Playgroud)

它说我已经有curl,但我认为它没有正确链接。当我输入“mancurl”时,它会显示有关curl的所有手动文档。但它不起作用,请帮助我。

GAD*_*D3R 18

是的,它没有正确链接。跑步:

sudo ldconfig
Run Code Online (Sandbox Code Playgroud)


And*_*gon 6

我找到了解决这个问题的不同方法。我做了以下事情:

1st - 找出curl对libcurl的依赖在哪里。由于某种原因,此链接存在问题。

sudo ldd $(which curl) | grep libcurl

输出指向以下位置的链接:

/usr/local/lib/libcurl.so.4

然后我使用了命令:

sudo apt-get purge curl

清除curl后,我检查了该文件是否在那里,它确实在那里。所以我做了以下事情:

sudo rm /usr/local/lib/libcurl.so.4(或者你之前得到的路径)

然后我用以下命令重新安装了curl:

sudo apt-get install curl

然后一切就开始工作了!

注意:安装某些软件包后问题再次出现

安装其他软件包后,问题再次出现,我不得不重复该过程。所以这不是一个非常稳定的解决方案。显然我删除的文件又被创建了回来。我仍在寻找永久解决方案。


PS9*_*S95 5

我找到了解决方案。首先,我使用此命令sudo rm -rf /usr/local/bin/curl*从该位置删除curl。然后,如果我输入curl,它会显示错误bash: /usr/local/bin/curl: No such file or directory。然后我用type curl它给了我输出curl is hashed (/snap/bin/curl)。然后我使用了hash -d curl,之后我的卷曲开始工作。

这个答案的评论确实很有帮助。