5

Apparently there are no .deb packages available for installing DNScrypt. So I am forced to compile and install.

I downloaded the package from here http://download.dnscrypt.org/dnscrypt-proxy/

followed the instructions from here http://dnscrypt.org/

after extracting, I cd into directory, ./configure and then when I type make I get:

No targets specified and no make file found.

What is going on? How do I get dnscrypt installed?

3 Answers 3

8

I bet you forgot a the libsodium library:

checking for library containing sodium_init... no
configure: error: libsodium not found

Quoting installation guide:

Install libsodium. There might be a pre-built binary package for your operating system already.

Unfortunally, there are not libsodium packages for Ubuntu. So, you should download, build and install libsodium as follows:

  1. Download the newer tar archive from https://download.libsodium.org/libsodium/releases/ (you can also get the git repository from https://github.com/jedisct1/libsodium). If you downloaded the tar.gz file, you should verify the hashsum:

    $ dig +dnssec +short txt libsodium-0.4.2.tar.gz.download.libsodium.org
    "1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39"
    $ shasum -a 256 libsodium-0.4.2.tar.gz
    1a7901cdd127471724e854a8eb478247dc0ca67be549345c75fc6f2d4e05ed39  libsodium-0.4.2.tar.gz
    

    As we can see, both are identical. You can also use the .sig file.

  2. Follow the ritual:

    tar xzf libsodium-0.4.2.tar.gz
    cd libsodium-0.4.2/
    ./configure
    make && make check && sudo make install
    

    You should consider debianize the package so it's more easy for you to uninstall/update later. There are plenty guides about this.

  3. Once you have installed you have to reload/rebuild the GNU linkers. A simple sudo ldconfig is enough.

  4. Now run ./configure and it should generate the makefile. (I'm assuming you have at least build-essentials package installed).

    checking for library containing sodium_init... -lsodium
    .....
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating config.h
    config.status: executing depfiles commands
    config.status: executing libtool commands
    

    Those are the ending lines of the ./configure.

Remember to keep a keen eye on the updates and bugs for both packages, since there might be vulnerabilities that shall be fixed with hassle.

2
5

Actually, the problem is that the instruction on dnscrypt.org are actually wrong. Prior to doing ./configure you have to do ./autogen.sh.

  1. ./autogen.sh
  2. ./configure.sh (with libsodium installed as above. Hint: sudo apt-get install checkinstall)
  3. make
  4. sudo checkinstall
1
  • just to note - this one is important addition
    – silpol
    Feb 29, 2016 at 0:37
0

For anyone receiving a similar error in the future, it could be the case that you do not have libsodium-dev installed. Installing it will allow dnscrypt to compile successfully. Of course, the easier route is to use the dnscrypt-autoinstall script.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .