It seems like curl packed with ubuntu 16.04 does not have http2 support. How do I enable http2 in curl

1 Answer 1


As of now (Jan 2018). You will have to install curl from source to get http2 support. You can do that using the following commands

sudo apt-get -y install build-essential nghttp2 libnghttp2-dev libssl-dev
wget https://curl.haxx.se/download/curl-7.63.0.tar.gz
tar xzf curl-7.63.0.tar.gz
cd curl-7.63.0
./configure --with-nghttp2 --prefix=/usr/local --with-ssl
make && sudo make install
sudo ldconfig
  • @user535733 Can you please explain why ?
    – Tachyons
    Feb 19, 2017 at 15:08
  • 2
    @user535733 . Thanks, this will install curl inside /usr/local So it won't collide with the default installation. You can even use them side by side.
    – Tachyons
    Feb 20, 2017 at 16:01
  • 2
    If it's still not working, then you may need to restart shell or clear your hash if you've used /usr/bin/curl lately. askubuntu.com/q/923527/453746 Jun 8, 2017 at 22:05
  • 3
    Most likely you'll want to compile with ssl support as well. Then install sudo apt-get install libssl-dev first and add run configure command this way: ./configure --with-nghttp2 --prefix=/usr/local --with-ssl=/usr/local/ssl
    – Stalinko
    Aug 28, 2017 at 9:19
  • 2
    @Tachyons in my case it wasn't. I think it depends on env settings. When you don't pass this parameter deliberately then configure reads it from env variables OPENSSL_CFLAGS and OPENSSL_LIBS
    – Stalinko
    Aug 28, 2017 at 17:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.