%%
%%

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

\begin{itemize}
\item {\bf Bacula} has been compiled and run on OpenSuSE Linux, FreeBSD, and
   Solaris systems. 
\item It requires 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 GNU C++ version 4.1.3.
   Note, in general GNU C++ is a separate package (e.g.  RPM) from GNU C, so you
   need them both loaded. On Red Hat systems, the C++ compiler is part of the
   {\bf 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  {\bf depkgs} and {\bf
   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{itemize}
   \item MySQL 4.1
   \item PostgreSQL 7.4
   \item SQLite 2.8.16 or SQLite 3
   \end{itemize}

\item If you want to build the Win32 binaries, please see the
   README.mingw32 file in the src/win32 directory. We cross-compile the
   Win32 release on Linux. We provide documentation on building the Win32
   version, but due to the complexity, you are pretty much on your own
   if you want to build it yourself.
\item {\bf 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
   POSIX compatible. Thus porting to any POSIX compatible  operating system
   should be relatively easy. 
\item The GNOME Console program is developed and tested under GNOME 2.x.
   GNOME 1.4 is no longer supported.
\item The wxWidgets Console program is developed and tested with the latest 
   stable ANSI or Unicode version of 
   \elink{wxWidgets}{\url{http://www.wxwidgets.org/}} (2.6.1).  It works fine with the
   Windows and GTK+-2.x version of wxWidgets, and should  also work on other
   platforms supported by wxWidgets. 
\item The 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  
   \elink{ FreeDesktop system tray
   standard}{\url{http://www.freedesktop.org/Standards/systemtray-spec}}. 
\item If you want to enable command line editing and history, you will  need
   to have /usr/include/termcap.h and either the termcap or the  ncurses library
   loaded (libtermcap-devel or ncurses-devel). 
\item If you want to use DVD as backup medium, you will need to download the
   \elink{dvd+rw-tools 5.21.4.10.8}{\url{http://fy.chalmers.se/~appro/linux/DVD+RW/}},
   apply the patch that is in the {\bf 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 dvd+rw-tools version 6.1, and we hope that the
   patch is integrated into a later version.
   Do not use the dvd+rw-tools provided by your distribution, unless you
   are sure it contains the patch. dvd+rw-tools without the patch will not
   work with Bacula. DVD media is not recommended for serious or important
   backups because of its low reliability.
\end{itemize}
