4
votes

I am on Ubuntu 14.04 and need curl version > 7.40 so I have followed some steps to install latest curl version (7.48)

As root

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

Extracted the file

tar -xvf curl-7.48.0.tar.gz

then in the extracted folder:

./buildconf
./configure
make
make install

Updated the binaries

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

then restarted the machine. I can see the new curl version but the libcurl library is not updated, is still 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 

I've checked the file /etc/ld.so.conf but it doesn't give me much info

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

As well the folder:

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# 

Update

going through each conf file I have found 3 places where there is libcurl library

under /usr/lib/agnclient-compat (agnclient is an AT&T VPN agent client)

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

under /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*

and under /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

So the latest lib which I've installed yesterday is under /usr/local/lib, but it loads the one from the VPN client.

1
Watch the $PATH precedenceAccountant م

1 Answers

4
votes

It was an easy fix after the update.

I've modified the file /etc/ld.so.conf

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

then executed

ldconfig -v

Now I have what I need

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