错误:curl:/usr/local/lib/libcurl.so.4:没有可用的版本信息(curl需要)

错误:curl:/usr/local/lib/libcurl.so.4:没有可用的版本信息(curl需要),curl,tcl,libcurl,Curl,Tcl,Libcurl,您好,当我从tcl运行curl时,出现了此错误错误错误错误:curl: /usr/local/lib/libcurl.so.4:没有可用的版本信息(curl需要) 在我的Ubuntu12.04系统上,当运行/usr/bin/curl(来自curl可安装软件包)时,当/usr/local/bin/curl已经就位时,会发出此错误。执行哪个curl并查看哪个正在执行——如果它是/usr/bin/curl,请尝试执行/usr/local/bin/curl 我在crontab的上下文中遇到了这个问题,它

您好,当我从tcl运行curl时,出现了此错误错误错误错误:curl: /usr/local/lib/libcurl.so.4:没有可用的版本信息(curl需要)


在我的Ubuntu12.04系统上,当运行
/usr/bin/curl
(来自
curl
可安装软件包)时,当
/usr/local/bin/curl
已经就位时,会发出此错误。执行
哪个curl
并查看哪个正在执行——如果它是
/usr/bin/curl
,请尝试执行
/usr/local/bin/curl


我在crontab的上下文中遇到了这个问题,它以与我的用户不同的路径运行。快速修复方法是使用
/usr/local/bin/curl

显式指定我的
curl
s。我也遇到了
libcurl的问题。因此。4:安装CMAKE时没有可用的版本信息。I键入
cmake
,输出为:

cmake: /usr/local/lib/libcurl.so.4: no version information available     (required by cmake)
Segmentation fault (core dumped)`
lrwxrwxrwx 1 root root 42 Aug 24 09:23 /usr/local/lib/libcurl.so.4 -> /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
我通过以下方法解决了这个问题:

首先,我找到了libcurl.so.4的路径:

locate libcurl.so.4
结果是:

/home/chenjian/software/curl-7.20.0/lib/.libs/libcurl.so.4
/home/chenjian/software/curl-7.20.0/lib/.libs/libcurl.so.4.2.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
/usr/local/lib/libcurl.so.4
/usr/local/lib/libcurl.so.4.2.0
其次,找到libcurl.so.4的链接,键入:

ls -l /usr/local/lib/libcurl.so.4
结果是:

lrwxrwxrwx 1 root root 16 Aug 16 21:15 /usr/local/lib/libcurl.so.4 -> libcurl.so.4.2.0
第三,删除它并重建指向libcurl.so.4.3.0的链接:

sudo rm /usr/local/lib/libcurl.so.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0 /usr/local/lib/libcurl.so.4
接下来,检查它:

 ls -l /usr/local/lib/libcurl.so.4
那么输出是:

cmake: /usr/local/lib/libcurl.so.4: no version information available     (required by cmake)
Segmentation fault (core dumped)`
lrwxrwxrwx 1 root root 42 Aug 24 09:23 /usr/local/lib/libcurl.so.4 -> /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
然后,我键入
cmake-version
,结果是

cmake version 3.2.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

修复错误后,我认为这可能是由多版本的curl造成的,就像我一样,原始ubuntu环境有一个,但我安装了另一个。

至于我,我的系统是ubuntu16,有一个默认的curl。但是我通过源代码安装了一个curl

root@xy:~/cmake_practice/cmake_build/build_demo9# locate libcurl.so.4
/home/xy/anaconda2/lib/libcurl.so.4
/home/xy/anaconda2/lib/libcurl.so.4.4.0
/home/xy/anaconda2/pkgs/curl-7.55.1-hcb0b314_2/lib/libcurl.so.4
/home/xy/anaconda2/pkgs/curl-7.55.1-hcb0b314_2/lib/libcurl.so.4.4.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0
/usr/local/lib/libcurl.so.4
/usr/local/lib/libcurl.so.4.4.0
然后我看到了新的libcurl.so,我最近安装了(5月20日19:54):

然后我告诉他们:

root@xy:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4
root@xy:~/cmake_practice/cmake_build/build_demo9# rm -f /usr/local/lib/libcurl.so.4.4.0
检查它:

 ls -l /usr/local/lib/libcurl.so.4
root@xy:~/cmake_practice/cmake_build/build_demo9# cmake --version
cmake version 3.5.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).
root@xy:~/cmake_practice/cmake_build/build_demo9# 

这里我有一个简单的解决方案

您可能安装了libcurl并遇到了此问题。 但您可以通过使用安装的libcurl重建自己的cmake来解决这个问题(使用LD_LIBRARY_PATH指向您的libcurl)

对我有用。(Ubuntu 16.04、libcurl 4.5和cmake 3.11.3)

在最新的Ubuntu(18.4)上,我不得不
sudo apt get remove libcurl.


然后重新安装所需的东西,例如,在我的ubuntu 16.04中,当我将蟒蛇箱导出到路径时遇到了相同的问题,而将库导出到路径时遇到了相同的问题。我通过从conda forge安装cmake解决了这个问题:
conda安装cmake
。如果您以我的身份使用anaconda,您可以使用此方法修复它,否则请使用其他人的解决方案。

我在构建较新版本的curl 7.5.61并重建我的应用程序时遇到此问题。我的解决方案是设置默认禁用的
--启用版本符号

./configure --enable-versioned-symbols --prefix=$PWD

谢谢,我也有同样的问题。我继续做了
apt获得remove curl
它删除了/usr/bin/curl(版本7.35),然后用
sudo ln-s/usr/local/bin/curl/usr/bin/curl
将它链接到我的/usr/local/bin/curl(版本7.46)。为什么这个答案比另一个低?答案很好!更正:在
sudorm-rf/usr/local/lib/libcurl.so.4
,不需要
-rf
。这解决了我的问题,但我很好奇,这个问题总是在我的Ubuntu 18.04系统上出现。@haxpor我面临类似的问题,你设法解决了吗?@Krishnaraj我不确定会发生什么,但我已经转到19.10,我现在没有看到任何问题。这意味着你正在使用不匹配的
curl
libcurl
。e、 g.
curl
由您的包管理器安装,并且
libcurl
自己编译。在删除现有的libcurl sudo之后,apt get install libcurl4 openssl dev为我工作。