Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

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.

share|improve this answer

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
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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