libcurl.so.4 没有可用的版本信息

Das*_*ren 11 ubuntu curl

curl: /usr/local/lib/libcurl.so.4: no version information available (required by curl)

这是我得到的错误。此错误并没有阻止任何脚本或应用程序运行或执行它们的任务,但是我也会在使用 curl 的任何时候收到来自系统的电子邮件。

我有经常运行的 cron 作业。有些每隔几分钟,有些则更长,我收到的电子邮件中会包含该错误行。我已经用谷歌搜索了字符串及其变体。但是,我找不到任何有用的东西。

我所做的:删除了文件/usr/local/lib/libcurl.so.4,这使得错误消失并且 curl 仍然可以正常工作。大约 24-48 小时后,文件会回来,弹回到文件夹中,我将不得不重新删除它。我知道这不是正确的做法,但我不知道还能做什么。


/usr/local/lib/ 的内容

libcurl.a
libgcrypt.la
libgpg-error.la
libruby-static.a
python2.7/
weechat/
libcurl.la
libgcrypt.so
libgpg-error.so
node_modules/
python3.4/
libcurl.so
libgcrypt.so.20
libgpg-error.so.0
pkgconfig/
ruby/
libcurl.so.4.3.0
libgcrypt.so.20.0.3
libgpg-error.so.0.15.0
postsrsd/
site_ruby/
Run Code Online (Sandbox Code Playgroud)

安装的软件包:

$ apt --installed list | grep 'curl'
curl/trusty-updates,trusty-security,now 7.35.0-1ubuntu2.5 amd64 [installed]
libcurl3/trusty-updates,trusty-security,now 7.35.0-1ubuntu2.5 amd64 [installed]
libcurl3-gnutls/trusty-updates,trusty-security,now 7.35.0-1ubuntu2.5 amd64 [installed]
libcurl4-openssl-dev/trusty-updates,trusty-security,now 7.35.0-1ubuntu2.5 amd64 [installed]
php5-curl/trusty-updates,trusty-security,now 5.5.9+dfsg-1ubuntu4.9 amd64 [installed]
python-pycurl/trusty,now 7.19.3-0ubuntu3 amd64 [installed,automatic]
python3-pycurl/trusty,now 7.19.3-0ubuntu3 amd64 [installed]
Run Code Online (Sandbox Code Playgroud)
$ lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.2 LTS
Release:        14.04
Codename:       trusty
Run Code Online (Sandbox Code Playgroud)

任何能指出我正确方向的东西都将不胜感激。

编辑 #1(更多信息)该链接在每天的 cron 作业运行后的上午 8:00:01 建立。

celestia@Canterlot:/usr/local/lib# ls -hal
drwxr-xr-x 10 celestia root  4.0K Jun 11 07:58 .
drwxr-xr-x 11 celestia root  4.0K Jun 23  2014 ..
-rw-r--r--  1 celestia root  805K May  2 00:16 libcurl.a
-rwxr-xr-x  1 celestia root   953 May  2 00:16 libcurl.la
lrwxrwxrwx  1 celestia root    16 May  2 00:16 libcurl.so -> libcurl.so.4.3.0
lrwxrwxrwx  1 celestia root    16 Jun 11 07:58 libcurl.so.4 -> libcurl.so.4.3.0
-rwxr-xr-x  1 celestia root  424K May  2 00:16 libcurl.so.4.3.0
-rwxr-xr-x  1 celestia root   987 May  2 00:20 libgcrypt.la
lrwxrwxrwx  1 celestia root    19 May  2 00:20 libgcrypt.so -> libgcrypt.so.20.0.3
lrwxrwxrwx  1 celestia root    19 May  2 00:20 libgcrypt.so.20 -> libgcrypt.so.20.0.3
-rwxr-xr-x  1 celestia root  3.5M May  2 00:20 libgcrypt.so.20.0.3
-rwxr-xr-x  1 celestia root   956 May  2 00:13 libgpg-error.la
lrwxrwxrwx  1 celestia root    22 May  2 00:13 libgpg-error.so -> libgpg-error.so.0.15.0
lrwxrwxrwx  1 celestia root    22 May  2 00:13 libgpg-error.so.0 -> libgpg-error.so.0.15.0
-rwxr-xr-x  1 celestia root  336K May  2 00:13 libgpg-error.so.0.15.0
celestia@Canterlot:/usr/local/lib# stat libcurl.so.4
  File: ‘libcurl.so.4’ -> ‘libcurl.so.4.3.0’
  Size: 16              Blocks: 0          IO Block: 4096   symbolic link
Device: fc00h/64512d    Inode: 30939991    Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/celestia)   Gid: (    0/    root)
Access: 2015-06-11 08:00:01.983201467 -0400
Modify: 2015-06-11 07:58:17.551455525 -0400
Change: 2015-06-11 07:58:17.551455525 -0400
 Birth: -
Run Code Online (Sandbox Code Playgroud)
celestia@Canterlot:/usr/local/lib# apt-file search libcurl.so.4
libcurl3: /usr/lib/x86_64-linux-gnu/libcurl.so.4
libcurl3: /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
Run Code Online (Sandbox Code Playgroud)
celestia@Canterlot:/usr/local/lib# ldd libcurl.so.4
linux-vdso.so.1 =>  (0x00007fff1cdfe000)
libssl.so.1.0.0 => /lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fb2e75f1000)
libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fb2e7216000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb2e6ffc000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb2e6c37000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb2e6a33000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb2e7ad2000)
Run Code Online (Sandbox Code Playgroud)

Das*_*ren 11

问题原来是我在系统上安装了 2 个 curl。一个 apt-get install curl 和一个从源代码构建的 curl。我最终删除了从源代码构建的 curl,现在一切正常。我后来也尝试删除 apt-get 并再次从源代码重建 curl,一切都很好。但是当我从 apt-get 重新安装 curl 并且仍然安装了源代码时,同样的问题又开始了。所以我再次删除了 apt-get 。

总之不要在系统上卷曲两次,然后就会发生问题。

对不起,如果这写得不好,我刚起床。

  • 你是怎么去掉一个的? (2认同)

小智 5

我在安装CMAKE时也遇到了这样的问题,我输入cmake,输出是:

cmake: /usr/local/lib/libcurl.so.4: no version information available     (required by cmake)
Segmentation fault (core dumped)`
Run Code Online (Sandbox Code Playgroud)

像你这样的。我是这样修复的:

sudo ln -fs /usr/lib/libcurl.so.4 /usr/local/lib/
Run Code Online (Sandbox Code Playgroud)

然后,我输入cmake -version,结果是

cmake version 3.2.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
Run Code Online (Sandbox Code Playgroud)