
#include "bacula_template.inc" title="Supported Systems/Hardware"

<h1>Supported Systems and Hardware</h1>

<a name="SysReqs">
<h2>System Requirements</h2></a>
<ul type="disc">
<li><b>Bacula</b> has been compiled and run on Linux RedHat, FreeBSD,
    and Solaris systems.</li>
<li>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 on RH8.0/RH9/RHEL 3.0
    with GCC 3.2.  Note, in general GNU C++ is a separate package (e.g.
    RPM) from GNU C, so you need them both loaded.  On RedHat systems,
    the C++ compiler is part of the <b>gcc-c++</b> rpm package.  </li>

<li>There are certain third party packages that Bacula needs.
    Except for MySQL and PostgreSQL, they can all be found in the
    <b>depkgs</b> and <b>depkgs1</b> releases.</li>

<li>If you want to build the Win32 binaries, you will need a
    Microsoft Visual C++ compiler (or Visual Studio).
    Although all components build (console has
    some warnings), only the File daemon has been tested. </li>

<li><b>Bacula</b> requires a good implementation of pthreads to work.
    This is not the case on some of the BSD systems.</li>  

<li>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.</li>

<li>The GNOME Console program is developed and tested under GNOME 2.x. It
    also runs under GNOME 1.4 but this version is deprecated and 
    thus no longer maintained.</li>

<li>The wxWidgets Console program is developed and tested with the latest
    stable version of <a href="http://www.wxwidgets.org/">wxWidgets</a> (2.4.2). 
    It works fine with the Windows and GTK+-1.x version of wxWidgets, and should
    also works on other platforms supported by wxWidgets.</li>

<li>The Tray Monitor program is developed for GTK+-2.x. It needs
    Gnome &gt;=2.2, KDE &gt;=3.1 or any window manager supporting the 
    <a href="http://www.freedesktop.org/Standards/systemtray-spec">
    FreeDesktop system tray standard</a>.</li>
    
<li>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).</li>
</ul>

<h2><a name="SupportedOSes">Supported Operating Systems</a></h2>
<ul type="disc">
  <li>Linux systems (built and tested on RedHat Enterprise Linux 3.0).</li>
  <li>If you have a recent Red Hat Linux system running the 2.4.x kernel
      and you have the directory <b>/lib/tls</b> installed on your
      system (normally by default), bacula will <b>NOT</b> run.  This is
      the new pthreads library and it is defective.  You must remove
      this directory prior to running Bacula, or you can simply change
      the name to <b>/lib/tls-broken</b>) then you must reboot your
      machine (one of the few times Linux must be rebooted).</b> If
      you are not able to remove/rename /lib/tls, an alternative is to
      set the environment variable "LD_ASSUME_KERNEL=2.4.19" prior to
      executing Bacula. For this option, you do not need to reboot, and
      all programs other than Bacula will continue to use /lib/tls.      
      <p>
      The feedback that we have for 2.6 kernels is that the
      same problem exists. However, on 2.6 kernels, we would
      probably recommend using the environment variable override
      (LD_ASSUME_KERNEL=2.4.19) rather than removing /lib/tls.
      </li>
  <li>Most flavors of Linux (Gentoo, SuSE, Mandrake, Debian, ...).</li>
  <li>Solaris various versions.</li>
  <li>FreeBSD (tape driver supported in 1.30 -- please see some
      <b>important</b> considerations in the <a
      href="tapetesting.html#FreeBSDTapes"> Tape Modes on FreeBSD</a>
      section of the Tape Testing chapter of this manual.)</li>
  <li>Windows (Win98/Me, WinNT/2K/XP) Client (File daemon) binaries.</li>
  <li>MacOS X/Darwin (see <a href="http://fink.sourceforge.net/">
      http://fink.sourceforge.net/</a> for obtaining the packages)</li>
  <li>OpenBSD Client (File daemon).</li>
  <li>Irix Client (File daemon).</li>
  <li>Tru64</li>
  <li>Bacula is said to work on other systems (AIX, BSDI, HPUX,
      ...) but we do not have first hand knowledge
      of these systems.</li>
  <li>See the <a href="porting.html">Porting</a> Chapter of this
      manual for information on porting to other systems.</li>
</ul>

<h2><a name="SupportedDrives">Supported Tape Drives</a></h2>
Even if your drive is on the list below,
please check the <a href="tapetesting.html#btape">Tape Testing Chapter</a> of this
manual for procedures that you can use to verify if your tape drive
will work with Bacula. If your drive is in fixed block mode, it
may appear to work with Bacula until you attempt to do a restore
and Bacula wants to position the tape. You can be sure only
by following the procedures suggested above and testing.
<p>
It is very difficult to supply a list of supported tape drives,
or drives that are known to work with Bacula because of limited
feedback (so if you use Bacula on a different drive, please let
us know).  Based on user feedback, the following drives are known to
work with Bacula. A dash in a column means unknown:
<p>
<table cellspacing="2" cellpadding="2" border="3">
<tr> <th>OS</th> <th>Man.</th> <th>Media</th> <th>Model</th> <th>Capacity/th> </tr>
<tr> <td>-</td> <td>ADIC</td> <td>DLT</td>  <td>Adic Scalar 100 DLT</td> <td>100GB</td></tr>
<tr> <td>-</td> <td>ADIC</td> <td>DLT</td>  <td>Adic Fastor 22 DLT</td> <td>-</td></tr>
<tr> <td>-</td> <td>-</td> <td>DDS</td>  <td>Compaq DDS 2,3,4</td> <td>-</td></tr>
<tr> <td>-</td> <td>Exabyte</td> <td>-</td>    <td>Exabyte drives less than 10 years old</td> <td>-</td></tr>
<tr> <td>-</td> <td>Exabyte</td> <td>-</td>    <td>Exabyte VXA drives</td> <td>-</td></tr>
<tr> <td>-</td> <td>HP</td> <td>Travan 4</td>  <td>Colorado T4000S</td> <td>-</td></tr>
<tr> <td>-</td> <td>HP</td> <td>DLT</td>  <td>HP DLT drives</td> <td>-</td></tr>
<tr> <td>-</td> <td>HP</td> <td>LTO</td>  <td>HP LTO Ultrium drives</td> <td>-</td></tr>
<tr> <td>FreeBSD 4.10 RELEASE</td> <td>HP</td> <td>DAT</td>  <td>HP StorageWorks DAT72i</td> <td>-</td></tr>
<tr> <td>-</td> <td>Overland</td> <td>LTO</td>  <td>LoaderXpress LTO</td> <td>-</td></tr>
<tr> <td>-</td> <td>Overland</td> <td>-</td>  <td>Neo2000</td> <td>-</td></tr>
<tr> <td>-</td> <td>OnStream</td> <td>-</td>  <td>OnStream drives (see below)</td> <td>-</td></tr>
<tr> <td>-</td> <td>Quantum</td> <td>DLT</td>  <td>DLT-8000</td> <td>40/80GB</td></tr>
<tr> <td>Linux</td> <td>Seagate</td> <td>DDS-4</td>  <td>Scorpio 40</td> <td>20/40GB</td></tr>
<tr> <td>FreeBSD 4.9 STABLE</td> <td>Seagate</td> <td>DDS-4</td>  <td>STA2401LW</td> <td>20/40GB</td></tr>
<tr> <td>FreeBSD 5.2.1 pthreads patched RELEASE</td> <td>Seagate</td> <td>AIT-1</td>  <td>STA1701W</td> <td>35/70GB</td></tr>
<tr> <td>Linux</td> <td>Sony</td> <td>DDS-2,3,4</td>  <td>-</td> <td>4-40GB</td></tr>
<tr> <td>Linux</td> <td>Tandberg</td> <td>-</td>  <td>Tandbert MLR3</td> <td>-</td></tr>
<tr> <td>FreeBSD</td> <td>Tandberg</td> <td>-</td>  <td>Tandberg SLR6</td> <td>-</td></tr>
<tr> <td>Solaris</td> <td>Tandberg</td> <td>-</td>  <td>Tandberg SLR75</td> <td>-</td></tr>

</table>

<p>
There is a list of 
<a href="autochangers.html#Models">supported autochangers</a>
models in the <a href="autochangers.html">autochangers chapter</a>
of this document, where you will find other tape drives that
work with Bacula.

<h2><a name="UnSupportedDrives">Unsupported Tape Drives</a></h2>
Previously OnStream IDE-SCSI tape drives did not work with
Bacula. As of Bacula version 1.33 and the osst kernel driver
version 0.9.14 or later, they now work. Please see the
testing chapter as you must set a fixed block size.
<p>
QIC tapes are known to have a number of particularities (fixed
block size, and one EOF rather than two to terminate the tape). As     
a consequence, you will need to take a lot of care in configuring them
to make them work correctly with Bacula.

<h2>FreeBSD Users Be Aware!!!</h2>
Unless you have patched the pthreads library on most FreeBSD systems,    
you will lose data when Bacula spans tapes. This is because the unpatched
pthreads library fails to return a warning status to Bacula that the end 
of the tape is near. 
Please see the <a href="tapetesting.html#FreeBSDTapes">Tape Testing
Chapter</a> of this manual for <b>important</b> information on
how to configure your tape drive for compatibility with Bacula.
 

<h2>Supported Autochangers</h2>
For information on supported autochangers, please see the
<a href="autochangers.html#Models">Autochangers Known to Work with Bacula</a>
section of the Autochangers chapter of this manual.

<page_prev name="The Current State of Bacula" url="state.html">
<page_next name="Quick Start Guide to Bacula" url="quickstart.html">
