1DEVELOPMENT VISION 2 3Note: ldns has been in maintenance mode since 2020, with no plans for major 4features. We welcome PRs from contributors who want to add new functionality. 5We also actively fix bugs, so users can continue to rely on ldns if its 6current features meet their needs. 7 8We will continue to make occasional use of ldns in an experimental 9setting, such as during an IETF Hackathon to build a proof of concept for an 10Internet Draft. 11 12The natural successor to the ldns library is the domain library for Rust: 13https://github.com/NLnetLabs/domain 14 15We offer drop-in replacements for commonly used ldns example tools in dnst: 16https://github.com/NLnetLabs/dnst 17 18--- 19 20Contents: 21 REQUIREMENTS 22 INSTALLATION 23 libdns 24 examples 25 drill 26 INFORMATION FOR SPECIFIC OPERATING SYSTEMS 27 Mac OS X 28 Solaris 29 KNOWN ISSUES 30 pyldns 31 32Project page: 33http://www.nlnetlabs.nl/ldns/ 34On that page you can also subscribe to the ldns mailing list. 35 36* Development 37ldns is mainly developed on Linux and FreeBSD. It is regularly tested to 38compile on other systems like Solaris and Mac OS X. 39 40REQUIREMENTS 41- OpenSSL (Optional, but needed for features like DNSSEC) 42 - OpenSSL >= 0.9.7f for DANE support 43 - OpenSSL >= 1.0.0 for ECDSA and GOST support 44- libpcap (Optional, but needed for examples/ldns-dpa) 45- (GNU) libtool (in OSX, that's glibtool, not libtool) 46- GNU make 47 48INSTALLATION 491. Unpack the tarball 502. cd ldns-<VERSION> 513. ./configure --with-examples --with-drill 52 (optionally compile python bindings too with: --with-pyldns) 534. make 545. make install 55 56 57* Building from repository 58 59If you are building from the repository you will need to have (gnu) 60autotools like libtool and autoreconf installed. A list of all the commands 61needed to build everything can be found in README.git. Note that the actual 62commands may be a little bit different on your machine. Most notably, you'll 63need to run libtoolize (or glibtoolize). If you skip this step, you'll get 64an error about missing config.sub. 65 66* Developers 67ldns is developed by the ldns team at NLnet Labs. This team currently 68consists of: 69 o Willem Toorop 70 o Wouter Wijngaards 71 72Former main developers: 73 o Jelte Jansen 74 o Miek Gieben 75 o Matthijs Mekking 76 77* Credits 78We have received patches from the following people, thanks! 79 o Bedrich Kosata 80 o Erik Rozendaal 81 o Håkan Olsson 82 o Jakob Schlyter 83 o Paul Wouters 84 o Simon Vallet 85 o Ondřej Surý 86 o Karel Slany 87 o Havard Eidnes 88 o Leo Baltus 89 o Dag-Erling Smørgrav 90 o Felipe Gasper 91 92 93INFORMATION FOR SPECIFIC OPERATING SYSTEMS 94 95MAC OS X 96 97For MACOSX 10.4 and later, it seems that you have to set the 98MACOSX_DEPLOYMENT_TARGET environment variable to 10.4 before running 99make. Apparently it defaults to 10.1. 100 101This appears to be a known problem in 10.2 to 10.4, see: 102http://developer.apple.com/qa/qa2001/qa1233.html 103for more information. 104 105 106SOLARIS 107 108In Solaris multi-architecture systems (which have both 32-bit and 10964-bit support), it can be a bit taxing to convince the system to 110compile in 64-bit mode. Jakob Schlyter has kindly contributed a build 111script that sets the right build and link options. You can find it in 112contrib/build-solaris.sh 113 114KNOWN ISSUES 115 116A complete list of currently known open issues can be found here: 117https://github.com/NLnetLabs/ldns/issues 118 119* pyldns 120Compiling pyldns produces many ``unused parameter'' warnings. Those are 121harmless and may safely be ignored. 122Also, when building with SWIG older than 2.0.4, compiling 123pyldns produces many ``missing initializer'' warnings. Those are harmless 124too. 125 126