]> git.ipfire.org Git - thirdparty/pdns.git/blame - README.md
move ahu's joe habit~ around
[thirdparty/pdns.git] / README.md
CommitLineData
7d7b7179
JC
1PowerDNS is copyright Ⓒ 2012-2013 by PowerDNS.COM BV & lots of
2contributors, using the GNU GPLv2 license.
bdbf07f0 3
1d329048 4This file may lag behind at times. For most recent updates, always check
951b5a77 5http://doc.powerdns.com/changelog.html and http://wiki.powerdns.com
1d329048
BH
6
7Another good place to look for information is:
8http://doc.powerdns.com/compiling-powerdns.html
9
2847a0d2 10To file bugs, head towards:
7d7b7179 11https://github.com/PowerDNS/pdns/issues
2847a0d2 12
7d7b7179 13But please check if the issue is already reported there first.
da5d2b0f 14
1d329048
BH
15COMPILING
16---------
da82f61d 17PowerDNS 3.0 and beyond depend on Lua and Boost. To get these libraries,
7d7b7179 18install the relevant packages. On Debian and Ubuntu, try:
da82f61d 19
7d7b7179
JC
20 # apt-get install g++ libboost-program-options-dev \
21 libboost-serialization-dev libpqclient-dev libmysqlclient-dev \
22 libsqlite3-dev libpq-dev
1d329048 23
d022a079 24To compile a very clean version, use:
2e938e5d 25
7d7b7179
JC
26 $ ./configure --with-modules=""
27 $ make
28 # make install
2e938e5d
BH
29
30This generates a PowerDNS binary with no modules, except the bind backend,
1d329048
BH
31built in, and the pipe-backend available for runtime loading.
32
33When ./configure is run without --with-modules, the gmysql module is
34built-in by default and the pipe-backend is compiled for runtime loading.
2e938e5d
BH
35
36To add multiple modules, try:
37
7d7b7179 38 $ ./configure --with-modules="gmysql gpgsql"
2e938e5d 39
343546e5
BH
40See http://rtfm.powerdns.com/compiling-powerdns.html for more details.
41
1d329048 42Please don't use the 'mysql' backend, it is deprecated. Use the 'gmysql'
7d7b7179
JC
43one!
44
45SOURCE CODE / GIT
46-----------------
47
48Source code is available on GitHub:
e5e9d0b4 49
7d7b7179 50 $ git clone https://github.com/PowerDNS/pdns.git
bdc9f8d2 51
343546e5
BH
52SOLARIS NOTES
53-------------
178d5134
BH
54You need gcc 3.x, preferably 3.2! The 'Sunpro' compiler is currently not
55supported (patches are welcome if not too intrusive).
152b4591 56
343546e5
BH
57If you encounter problems with the Solaris make, gmake is advised
58
1d329048
BH
59IPv6 is broken in Solaris 2.7, use 2.8 or higher for that. PowerDNS on
60Solaris 2.7 won't even serve AAAA records.
343546e5
BH
61
62FREEBSD NOTES
63-------------
1d329048
BH
64gcc 2.95.x works. You need to compile using gmake - regular make only
65appears to work, but doesn't in fact. Use gmake, not make.
343546e5 66
5088e8bc
BH
67pipebackend does not work due to bad interaction between fork and pthreads.
68Amazingly, running the Linux version under the linuxulator DOES work!
69
7d7b7179
JC
70MAC OS X NOTES
71--------------
72
73PowerDNS is available through Homebrew:
74
75 $ brew install pdns
76
77If you want to compile yourself, the dependencies can be installed using
78Homebrew:
79
cb4bdee7 80 $ brew install boost lua pkg-config ragel
7d7b7179
JC
81
82For PostgreSQL support:
83
84 $ brew install postgresql
85
86For MySQL support:
87
88 $ brew install mariadb
89
343546e5
BH
90LINUX NOTES
91-----------
92None really.
12e6d4a9 93
e5e9d0b4
BH
94WIN32 NOTES
95-----------
7d7b7179 96See http://rtfm.powerdns.com/compiling-powerdns.html#ON-WINDOWS
e5e9d0b4
BH
97
98Needs Visual C++
99
12e6d4a9
BH
100---
101
102After compiling, you may find the file 'pdns/pdns' helpful, we suggest you
103place it in /etc/init.d/ or your operating system's equivalent.
104