Sophie

Sophie

distrib > Mageia > 1 > i586 > by-pkgid > b24f4357c8479344be16703c233650c5 > files > 26

pdns-2.9.22-9.mga1.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Compiling PowerDNS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="PowerDNS manual"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Read/write master-capable backends"
HREF="master-backends.html"><LINK
REL="NEXT"
TITLE="Compiling PowerDNS on Windows"
HREF="on-windows.html"></HEAD
><BODY
CLASS="APPENDIX"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>PowerDNS manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="master-backends.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="on-windows.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="APPENDIX"
><H1
><A
NAME="COMPILING-POWERDNS"
></A
>Appendix D. Compiling PowerDNS</H1
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="ON-UNIX"
>D.1. Compiling PowerDNS on Unix</A
></H1
><P
>	<DIV
CLASS="NOTE"
><P
></P
><TABLE
CLASS="NOTE"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="../images/note.gif"
HSPACE="5"
ALT="Note"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>	    For now, see <A
HREF="http://wiki.powerdns.com/"
TARGET="_top"
>the Open Source PowerDNS site</A
>. 
	    <B
CLASS="COMMAND"
>./configure ; make ; make install</B
> will do The Right Thing for most people.
	  </P
></TD
></TR
></TABLE
></DIV
>
      </P
><P
>	PowerDNS can becompiled with modules built in, or with modules designed to be loaded at runtime. All that is configured
	before compiling using the well known autoconf/automake system.
      </P
><P
>	To compile in modules, specify them as <B
CLASS="COMMAND"
>--with-modules="mod1 mod2 mod3"</B
>, substituting the desired module names.
	Each backend has a module name in the table at the beginning of its section.
      </P
><P
>	To compile a module for inclusion at runtime, which is great if you are a unix vendor, use <B
CLASS="COMMAND"
>--with-dynmodules="mod1 mod2 mod3"</B
>.
	These modules then end up as .so files in the compiled libdir. 
      </P
><P
>        Starting with version 2.9.18, PowerDNS requires 'Boost' to compile, it is available for most operating systems. Otherwise, see <A
HREF="http://www.boost.org"
TARGET="_top"
>the Boost 
	website</A
>.
      </P
><P
>	If your operating system does not have a Boost package, you don't need to compile all of boost just for PowerDNS.
	PowerDNS only uses Boost include files, so there is no need to install all of boost. Just untar the Boost distribution file and 
	point instruct ./configure to find it, perhaps like this:
	<PRE
CLASS="SCREEN"
>	$ CXXFLAGS=-I/home/bert/download/boost_1_33_0 ./configure ...
    </PRE
>
    </P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-AIX"
>D.1.1. AIX</A
></H2
><P
>	  Known to compile with gcc, but only since 2.9.8. AIX lacks POSIX semaphores so they need to be emulated, as with MacOS X.
	</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-FREEBSD"
>D.1.2. FreeBSD</A
></H2
><P
>	  Works fine, but use gmake. Pipe backend is currently broken, for reasons, see <A
HREF="backends-detail.html#PIPEBACKEND"
>Section A.1</A
>. Due to the threading model
	  of FreeBSD, PowerDNS does not benefit from additional CPUs on the system.
	</P
><P
>	  The FreeBSD Boost include files are installed in <TT
CLASS="FILENAME"
>/usr/local/include</TT
>, so prefix <B
CLASS="COMMAND"
>CXXFLAGS=-I/usr/local/lib</B
>
	  to your <B
CLASS="COMMAND"
>./configure</B
> invocation.
	</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-LINUX"
>D.1.3. Linux</A
></H2
><P
>	  Linux is probably the best supported platform as most of the main coders are Linux users. The static DEB distribution is known to have 
	  problems on Debian 'Sid', but that doesn't matter as PowerDNS is a native part of Debian 'Sid'. Just apt-get!
	</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-MACOSX"
>D.1.4. MacOS X</A
></H2
><P
>	  Did compile at one point but maintenance has lapsed. Let us know if you can provide us with a login on MacOS X or if you want to help.
	</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-OPENBSD"
>D.1.5. OpenBSD</A
></H2
><P
>	  Compiles but then does not work very well. We hear that it may work with more recent versions of gcc, please let us know on 
	  <CODE
CLASS="EMAIL"
>&#60;<A
HREF="mailto:pdns-dev@mailman.powerdns.com"
>pdns-dev@mailman.powerdns.com</A
>&#62;</CODE
>.
	</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UNIX-SOLARIS"
>D.1.6. Solaris</A
></H2
><P
>	  Solaris 7 is supported, but only just. AAAA records do not work on Solaris 7. Solaris 8 and 9 work fine. The 'Sunpro' compiler
	  has not been tried but is reported to be lacking large parts of the Standard Template Library, which PowerDNS relies on heavily. 
	  Use gcc and gmake (if available). Regular Solaris make has some issues with some PowerDNS Makefile constructs.
	</P
><P
>	  When compiling, make sure that you have <TT
CLASS="FILENAME"
>/usr/ccs/bin</TT
> in your path. Furthermore, with some versions of MySQL,
	  you may have to add "LDFLAGS=-lz" before <B
CLASS="COMMAND"
>./configure</B
>.
	</P
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="master-backends.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="on-windows.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Read/write master-capable backends</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Compiling PowerDNS on Windows</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>