How do I install curl with ares enabled

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

I think the AskUbuntu are thinking that this is a programming question and not a configuration question. The binary you fetched by your apt-get command was not compiled with libc-ares2 (as an external library or a linked library). When you fetched libc-ares2 you got your computer to the point where it might build the version of cURL you want from source, but now the real work has begun.

Commonly you would download the source and look for a file called README or INSTALL. It will (hopefully) talk about a step that has a line like ./configure. From here you can specify compile time options. It's also possible that the make file for cURL can auto-detect the presence of libc-ares2 and include it in it's build.

However taking a look at the latest source release while there is no INSTALL file there is a configure script. Look at it's source it has this line:

--enable-ares[=PATH]    Enable c-ares for DNS lookups

If you run this command from the source folder:

./configure --enable-ares && make && sudo make install

Then you have a shot at getting the curl build you want. There may very likely be a lot of error messages related to other missing libraries or missing make and GCC. That will be harder to resolve in this answer.

Here is a page on cURL's project homepage that talks you through these steps