How do I install curl with ares enabled

Dom Hodgson picture Dom Hodgson · Jan 22, 2013 · Viewed 7.9k times · Source

I have curl installed on the latest ubuntu via apt-get and that works fine, however I've been reading about the blocking nature of the DNS lookups and discovered that it's slowing down my app.

I've done apt-get install libc-ares2 but I'm not sure how to tell curl to use that library when doing a lookup.

I posted this question to AskUbuntu but was told it was probably better here..

Answer

pelya picture pelya · Feb 1, 2017

If you want installable .deb package instead of putting everything to /usr/local, do this:

sudo apt-get build-dep curl
sudo apt-get install libc-ares-dev build-essential
apt-get source curl
cd curl-*

This will download curl sources with Debian/Ubuntu build files and patches.

Edit file debian/control: add line libc-ares-dev to Build-Depends

Edit file debian/rules: remove --enable-threaded-resolver and add --enable-ares to CONFIGURE_ARGS

Optional: increase version number in the first line of debian/changelog, for example 7.38.0-4+deb8u5 to 7.38.0-4+deb8u6, this way your package will not get overwritten when you install updates to your system.

Now run command

dpkg-buildpackage -us -uc -b -j4

It will generate several .deb files after an unreasonably long compilation time, go drink coffee or something while it is compiling.

You can install your new curl with c-ares support using this command:

cd ..
sudo dpkg -i curl_*.deb libcurl3-*.deb libcurl4-openssl-dev*.deb