\chapter{System Requirements}
\label{blb:SysReqs}
\index[general]{System Requirements }
\index[general]{Requirements!System }

\begin{bitemize}
\item \textbf{\bacula{}} has been compiled and runs on Linux, FreeBSD, MacOSX,
   Solaris, and many other Linux/Unix systems. 
\item It requires \acs{GNU} C++ version 2.95 or higher to compile. You can try  with
   other compilers and older versions, but you are on your own.  We have
   successfully compiled and used \bacula{} using \acs{GNU} C++ version 4.1.3.
   Note, in general \acs{GNU} C++ is a separate package (e.g.  \acs{RPM}) from \acs{GNU} C, so you
   need them both loaded. On Red Hat systems, the C++ compiler is part of the
   \textbf{gcc-c++} rpm package. 
\item There are certain third party packages that \bacula{} may need.  Except for
  \mysql{} and \postgresql{}, they can all be found in the  \textbf{depkgs} and \textbf{depkgs1}
  releases. However, most current Linux and FreeBSD systems
   provide these as system packages.
\item The minimum versions for each of the databases supported by \bacula{}
   are:

   \begin{bitemize}
   \item \mysql{} 5.1
   \item \postgresql{} 9.0
   \end{bitemize}

\item If you want a File daemon for Windows, we recommend that
   you consult the site: \bref{http://www.baculasystems.com}{www.baculasystems.com}, where
   the binaries are available at a very modest cost.  If you are
   a \bacula{} Systems customer, the Windows binaries are included with
   your basic subscription.
\item \textbf{\bacula{}} requires a good implementation of pthreads to work.  This
   is not the case on some of the BSD systems. 
\item The source code has been written with portability in mind and is  mostly
   \acs{POSIX} compatible. Thus porting to any \acs{POSIX} compatible  operating system
   should be relatively easy. 
\item The \btool{GNOME Console} program is developed and tested under GNOME 2.x.
   GNOME 1.4 is no longer supported.
\item The \btool{wxWidgets Console} program is developed and tested with the latest 
   stable \acs{ANSI} or Unicode version of 
   \bfootref{http://www.wxwidgets.org}{wxWidgets} (2.6.1).  It works fine with the
   Windows and \acs{GTK}+-2.x version of wxWidgets, and should  also work on other
   platforms supported by wxWidgets. 
\item The \btool{Tray Monitor} program is developed for GTK+-2.x. It needs  GNOME less
   or equal to 2.2, KDE greater or equal to 3.1 or any window manager supporting
   the \bfootref{http://www.freedesktop.org/Standards/systemtray-spec}{FreeDesktop system tray standard}. 
\item If you want to enable command line editing and history, you will  need
   to have \bfilename{/usr/include/termcap.h} and either the \btool{termcap} or the  \btool{ncurses} library
   loaded (libtermcap-devel or ncurses-devel). 
\item If you want to use \acs{DVD} as backup medium, you will need to download the
   \bfootref{http://fy.chalmers.se/~appro/linux/DVD+RW/}{dvd+rw-tools 5.21.4.10.8},
   apply the patch that is in the \bdirectoryname{patches} directory of the main
   source tree
   to make these tools compatible with \bacula{}, then compile and install them.
   There is also a patch for \btool{dvd+rw-tools} version 6.1, and we hope that the
   patch is integrated into a later version.
   Do not use the \texttt{dvd+rw-tools} provided by your distribution, unless you
   are sure it contains the patch. \texttt{dvd+rw-tools} without the patch will not
   work with \bacula{}. \acs{DVD} media is not recommended for serious or important
   backups because of its low reliability.
\end{bitemize}
