Libcurl 未更新

Libcurl not updated

我在 Ubuntu 14.04 上,需要 curl 版本 > 7.40,所以我按照一些步骤安装了最新的 curl 版本 (7.48)

作为 root

wget http://curl.haxx.se/download/curl-7.48.0.tar.gz
apt-get install libtool
apt-get install make

提取文件

tar -xvf curl-7.48.0.tar.gz

然后在提取的文件夹中:

./buildconf
./configure
make
make install

更新了二进制文件

mv /usr/bin/curl /usr/bin/curl.bak
cp /usr/local/bin/curl /usr/bin/curl

然后重启机器。 我可以看到新的 curl 版本,但 libcurl 库没有更新,仍然是 7.35

root:~# curl -V
curl 7.48.0 (x86_64-unknown-linux-gnu) libcurl/7.35.0, OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP 

我已经检查了文件 /etc/ld。so.conf 但它并没有给我太多信息

include /etc/ld.so.conf.d/*.conf

还有文件夹:

root:/etc/ld.so.conf.d# ll
total 52
drwxr-xr-x   2 root root  4096 Feb 18 14:17 ./
drwxr-xr-x 167 root root 12288 Apr 26 14:30 ../
-rwxr-xr-x   1 root root    26 Nov 21  2007 agnclient-compat.conf*
-rw-r--r--   1 root root    14 Aug 24  2009 agns.conf
-rw-rw-r--   1 root root    38 Mar 24  2014 fakeroot-x86_64-linux-gnu.conf
lrwxrwxrwx   1 root root    40 Feb  5 16:42 i386-linux-gnu_GL.conf -> /etc/alternatives/i386-linux-gnu_gl_conf
-rw-r--r--   1 root root   108 Apr 12  2014 i686-linux-gnu.conf
-rw-r--r--   1 root root    44 Aug  9  2009 libc.conf
-rw-r--r--   1 root root    33 Aug  1  2014 symav.conf
-rw-r--r--   1 root root    68 Apr 12  2014 x86_64-linux-gnu.conf
lrwxrwxrwx   1 root root    43 Feb  3 12:05 x86_64-linux-gnu_EGL.conf -> /etc/alternatives/x86_64-linux-gnu_egl_conf
lrwxrwxrwx   1 root root    42 Feb  3 12:05 x86_64-linux-gnu_GL.conf -> /etc/alternatives/x86_64-linux-gnu_gl_conf
-rw-r--r--   1 root root    56 Apr 12  2014 zz_i386-biarch-compat.conf
-rw-r--r--   1 root root    58 Apr 12  2014 zz_x32-biarch-compat.conf
root:/etc/ld.so.conf.d# 

更新

遍历每个 conf 文件,我发现 3 个地方有 libcurl 库

/usr/lib/agnclient-compat下(agnclient是AT&T VPN代理客户端)

lrwxrwxrwx   1 root root      16 Feb  3 12:11 libcurl.so.3 -> libcurl.so.3.0.0
-rw-r--r--   1 root root  248028 Nov 21  2007 libcurl.so.3.0.0

/usr/local/lib

之下
lrwxrwxrwx  1 root root     16 Apr 25 12:34 libcurl.so -> libcurl.so.4.4.0*
lrwxrwxrwx  1 root root     16 Apr 25 12:34 libcurl.so.4 -> libcurl.so.4.4.0*
-rwxr-xr-x  1 root root 376889 Apr 25 12:34 libcurl.so.4.4.0*

/usr/lib/x86_64-linux-gnu

以下
lrwxrwxrwx   1 root root       19 Jan 26 20:05 libcurl-gnutls.so.3 -> libcurl-gnutls.so.4
lrwxrwxrwx   1 root root       23 Jan 26 20:05 libcurl-gnutls.so.4 -> libcurl-gnutls.so.4.3.0
-rw-r--r--   1 root root   401512 Jan 26 20:05 libcurl-gnutls.so.4.3.0
lrwxrwxrwx   1 root root       12 Jan 26 20:05 libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx   1 root root       16 Jan 26 20:05 libcurl.so.4 -> libcurl.so.4.3.0
-rw-r--r--   1 root root   422696 Jan 26 20:05 libcurl.so.4.3.0

所以我昨天安装的最新库在 /usr/local/lib 下,但它从 VPN 客户端加载了一个。

更新后很容易修复。

我修改了文件 /etc/ld.so.conf

include /usr/local/lib
include /etc/ld.so.conf.d/*.conf

然后执行

ldconfig -v

现在我有我需要的东西

root@carlo-ThinkPad-W541:~# curl -V
curl 7.48.0 (x86_64-unknown-linux-gnu) libcurl/7.48.0 zlib/1.2.8
Protocols: dict file ftp gopher http imap pop3 rtsp smtp telnet tftp 
Features: IPv6 Largefile libz UnixSockets