Install Latest curl version 7.84.0 on Ubuntu 22.04/20.04/HestiaCP/VestaCP
In this tutorial we’ll install Latest version of curl on Ubuntu OS/server. By default Ubuntu curl version is old and doesn’t have any updated package available. You can follow this tutorial to install latest version of curl on Ubuntu server.
Short Description on curl :
curl is a command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features. curl is used in command lines or scripts to transfer data. It is also used in cars, television sets, routers, printers, audio equipment, mobile phones, tablets, settop boxes, media players and is the internet transfer backbone for thousands of software applications affecting billions of humans daily.
Step 1 :
Remove current installed curl if installed :
apt remove curl apt purge curl
Step 2 :
Install Curl dependencies :
apt install -y build-essential libcurl4 openssl libssl-dev libssh-dev zlib1g-dev zlib libbrotli-dev brotli libkrb5-dev libldap2-dev librtmp-dev libpsl-dev libnghttp2-dev
Step 3 :
Download and Install curl :
run this commands one by one in ssh terminal :
cd /usr/local/src rm -rf curl* wget https://curl.se/download/curl-7.84.0.zip unzip curl-7.84.0.zip cd curl-7.84.0 ./configure --with-ssl --with-zlib --with-gssapi --enable-ldap --enable-ldaps --with-libssh --with-nghttp2 make make install
Step 4:
Checking curl version :
curl -V
example output :
root@mysterydata:# curl -V curl 7.84.0 (x86_64-pc-linux-gnu) libcurl/7.82.0 OpenSSL/1.1.1 zlib/1.2.11 brotli/1.0.4 libidn2/2.0.4 libpsl/0.19.1 (+libidn2/2.0.4) libssh/0.7.0/openssl/zlib nghttp2/1.30.0 librtmp/2.3 Release-Date: 2022-03-05 Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
Thats it you’ve installed latest curl version on Ubuntu server
Troubleshoot :
if you get this errors :
curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup curl: symbol lookup error: curl: undefined symbol: curl_mime_free
Run the below Steps ensure you’re using root (sudo):
apt build-dep curl
Then run Step 3 commands
Now Run this command to build shared lib cache and links :
ldconfig
ZLIB not found or not installing
*** Unable to locate package zlib
you can install ZLib from repository :
apt install zlib1g-dev zlib1g
Zlib Install from DEB :
For Ubuntu :
cd /usr/local/src wget http://security.ubuntu.com/ubuntu/pool/main/z/zlib/zlib1g_1.2.11.dfsg-2ubuntu5_amd64.deb wget http://security.ubuntu.com/ubuntu/pool/main/z/zlib/zlib1g-dev_1.2.11.dfsg-2ubuntu5_amd64.deb dpkg -i zlib1g_1.2.11.dfsg-2ubuntu5_amd64.deb dpkg -i zlib1g-dev_1.2.11.dfsg-2ubuntu5_amd64.deb
Zlib Install from Source :
cd /usr/local/src wget http://www.zlib.net/zlib1211.zip unzip zlib1211.zip cd zlib-1.2.11 ./configure --prefix=/usr/local/zlib make && make install
I have a question if there is an update for curl do you have to uninstall the older version and then install the new one? Or is there a way to update curl? I’ve searched for it but can’t find it.
follow the steps again to update curl, nothing need to be removed.
Good article I’m stuck at step 2. I get the message Unable to locate package zlib. I’m on Ubuntu 20.04.
Hi, I’ve added the steps to install zlib via apt, via deb and via source.
Thank you very much. This worked.
i have install the latest curl version curl7.70.0 by your command mentioned in the article.
when i check “curl -v” i get error
curl: symbol lookup error: curl: undefined symbol: curl_url_cleanup
I’ve added troubleshoot section in the initial post
in step 2
error – unable to locate package zlib
step 3
rm -rf curl*
error – can not remove ‘ curl-7.70.0/docs/*** – permission denied
./configure –with-ssl –with-zlib –with-gssapi –enable-ldap –enable-ldaps –with-libssh –with-nghttp2
error- libpsl was not found
error- libSSH libs and/or directories were not found where specified!
step 4
curl -v
error – no url specified
Error- you must put some url directory
above error shown
dude it seems you have a messed up OS system, probably you tried many other things and end up with system issues or the dependencies are missing. Ensure you install those dependencies and run the commands as root user. Join our forum and post the detailed issue there.