                                Firewall Builder

Requirements

   We develop Firewall Builder on RedHat 7.2. We tested it on Solars 8 as
   well, but this is not our main development platform. We could not test it
   on Debian, SuSe distributions, although we've got positive feedback saying
   it works there, provided that correct libstdc++ and gtk-- packages are
   installed.

                   What is needed to run binary distribution

   Generally speaking, you need the following packages:

     * libstdc++ version 2.9 or newer
     * gdk-pixbuf version 0.11 or newer
     * gtk-- version 1.2.3 or newer
     * libsigc++ version 1.0 or newer
     * libxml2 version 2.4.10 or newer
     * libxslt version 1.0.7 or newer
     * ucd-snmp version 4.2.3 or newer
     * openssl version 0.9.6b or newer

Red Hat 7.2 and 7.3

   If your system is configured as "Gnome Workstation" or Ximian Gnome is
   installed, then you already have proper gtk+, gtk-- and libsigc++
   packages. If you are using KDE, then you may need to add these packages.

   gtk-- RPM's can be downloaded from http://gtkmm.sourceforge.net/ or
   directly in http://www.hvrlab.org/pub/gtkmm/

   libsigc++ comes on disk #2 with RedHat 7.3. Users of RedHat 7.2 systems
   can download it from the home page at http://libsigc.sourceforge.net/

   libsigc++ also comes as part of Ximian Gnome distribution.

   libxml2 and libxslt come as part of RedHat 7.3 or can be downloaded from
   http://xmlsoft.org We recommend using the latest available versions of
   both libxml2 and libxslt.

   Firewall Builder implements number of features which make use of SNMP,
   therefore you will need ucd-snmp RPM installed, too. RPMs we distribute
   are built using ucd-snmp v4.2.3 (as of Feb 2002)

   Here is the list of recommended packages and where you can get them from:

+------------------------------------------------------------------------------+
|gtkmm-1.2.5-1       |http://www.hvrlab.org/pub/gtkmm/                         |
|--------------------+---------------------------------------------------------|
|gdk-pixbuf-0.16.0   |Ximian Gnome or RedHat updates                           |
|--------------------+---------------------------------------------------------|
|libsigc++-1.0.1-1   |RedHat 7.3 disk #2 or http://www.hvrlab.org/pub/gtkmm/   |
|--------------------+---------------------------------------------------------|
|libxml2-2.4.19      |RedHat 7.3 distribution or                               |
|                    |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxml/ |
|--------------------+---------------------------------------------------------|
|libxslt-1.0.15-1    |RedHat 7.3 distribution or                               |
|                    |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxslt/|
|--------------------+---------------------------------------------------------|
|ucd-snmp-4.2.3      |RedHat distribution                                      |
|--------------------+---------------------------------------------------------|
|ucd-snmp-utils-4.2.3|RedHat distribution                                      |
|--------------------+---------------------------------------------------------|
|openssl-0.9.6       |RedHat distribution                                      |
+------------------------------------------------------------------------------+

Mandrake 8.1 and 8.2

   Requirements are very similar to those for Red Hat 7.2. If the system is
   configured as "Gnome Workstation" or Ximian Gnome is installed, the you
   don't need to add gtk+, gtk-- and libsigc++ packages. If you use KDE, you
   will need to add these packages though.

   Here is the list of recommended packages. All these packages come with
   standard Mandrake distribution, but you may need to install some of them
   by hand. What packages need to be installed depends on the configuration
   of OS. Some of these packages can be found on CD #1, while some others are
   on CD #2. Use can use rpmdrake to install these.

   +-----------------------+
   | libglib1.2-1.2.10     |
   |-----------------------|
   | libstdc++2.10-2.96    |
   |-----------------------|
   | libgtkmm1.2-1.2.8     |
   |-----------------------|
   | libgdk-pixbuf2-0.16.0 |
   |-----------------------|
   | libsigc++1.0-1.0.4    |
   |-----------------------|
   | libxml2-2.4.16        |
   |-----------------------|
   | libxslt1-1.0.12       |
   |-----------------------|
   | libxslt-proc-1.0.12   |
   |-----------------------|
   | libsnmp0-4.2.3        |
   |-----------------------|
   | ucd-snmp-utils-4.2.3  |
   |-----------------------|
   | libopenssl0-0.9.6c    |
   +-----------------------+

          What is needed to build Firewall Builder from source tarball

   You will need the same libraries you would need to run our binary
   distribution, plus development packages of all the same libraries. That
   is, if you use RedHat or Mandrake, then you would need to install
   gtkmm-devel in addition to gtkmm RPM, libxml2-devel in addition to libxml2
   and so on.

   We tested with different versions of libxml2 and libxstl starting from
   libxml2-2.4.0 and libxslt-1.0.0, although we recommend using the latest
   which at the moment of writing this document are libxml2 2.4.19 and
   libxslt 1.0.15. Gnome ships with libxml-1.8 but you do not need to remove
   this one, just install libxml2 in addition, they do not conflict.

   You will also need relatively new resolver library (libresolv). I do not
   know how to determine version of libresolv itself since RedHat now ships
   it as part of glibc and glibc-devel package. You should be fine if you use
   any fresh distribution. If your glibc is 2.2 then your copy of libresolv
   is fine. RedHat 6.2 ships old resolver though, so unfortunately you can
   not build Firewall Builder with support for advanced DNS features on
   RedHat 6.2.

   Make sure you have both bind and bind-devel packages installed and it
   should be bind 8 or 9

   If you want to be able to use SNMP to collect some information about
   hosts/firewalls, you need to have ucd-snmp package installed. We tested
   with version 4.1.3 and newer. Home page: http://net-snmp.sourceforge.net/
   If snmp library is not installed on your system, then support for features
   requiring SNMP will be automatically disabled by configure script.

   If you would like to build API online class reference, you need to install
   DOC++ package. Home page: http://docpp.sourceforge.net/. If it is not
   present no error message will be shown, but class reference will not be
   generated.

   NOTE: you need to upgrade g++ compiler on RedHat 7.0 in order to be able
   to builder Firewall Builder. Upgrade to the latest version available via
   RedHat updates site (tested with gcc-c++-2.96-69)

Red Hat 7.2 and 7.3

   Here is the list of recommended packages for RedHat 7.2 and where you can
   get them from:

+---------------------------------------------------------------------------------+
|gtkmm-1.2.5-1          |http://www.hvrlab.org/pub/gtkmm/                         |
|-----------------------+---------------------------------------------------------|
|gtkmm-devel-1.2.5-1    |http://www.hvrlab.org/pub/gtkmm/                         |
|-----------------------+---------------------------------------------------------|
|gdk-pixbuf-devel-0.16.0|Ximian Gnome or RedHat updates                           |
|-----------------------+---------------------------------------------------------|
|libsigc++-1.0.3-1      |http://www.hvrlab.org/pub/gtkmm/                         |
|-----------------------+---------------------------------------------------------|
|libsigc++-devel-1.0.3-1|RedHat 7.3 or http://www.hvrlab.org/pub/gtkmm/           |
|-----------------------+---------------------------------------------------------|
|libxml2-2.4.19         |RedHat 7.3 or                                            |
|                       |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxml/ |
|-----------------------+---------------------------------------------------------|
|libxml2-devel-2.4.19   |RedHat 7.3 or                                            |
|                       |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxml/ |
|-----------------------+---------------------------------------------------------|
|libxslt-1.0.15-1       |RedHat 7.3 or                                            |
|                       |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxslt/|
|-----------------------+---------------------------------------------------------|
|libxslt-devel-1.0.15-1 |RedHat 7.3 or                                            |
|                       |ftp://ftp.gnome.org/pub/GNOME/stable/redhat/i386/libxslt/|
|-----------------------+---------------------------------------------------------|
|doc++-3.4.8-1          |http://docpp.sourceforge.net/download.html               |
|-----------------------+---------------------------------------------------------|
|ucd-snmp-4.2.3         |RedHat distribution                                      |
|-----------------------+---------------------------------------------------------|
|ucd-snmp-devel-4.2.3   |RedHat distribution                                      |
|-----------------------+---------------------------------------------------------|
|ucd-snmp-utils-4.2.3   |RedHat distribution                                      |
|-----------------------+---------------------------------------------------------|
|openssl-0.9.6b         |RedHat distribution                                      |
|-----------------------+---------------------------------------------------------|
|openssl-devel-0.9.6b   |RedHat distribution                                      |
+---------------------------------------------------------------------------------+

Mandrake 8.1 and 8.2

   Here is the list of recommended packages for Mandrake 8.1 and where you
   can get them from:

   +----------------------------------------------------------------------+
   |libglib1.2-1.2.10          |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libglib1.2-devel-1.2.10    |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libgtkmm1.2-1.2.8          |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libgtkmm1.2-devel-1.2.8    |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libgdk-pixbuf2-0.16.0      |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libgdk-pixbuf2-devel-0.16.0|CD #2                                     |
   |---------------------------+------------------------------------------|
   |libsigc++1.0-1.0.4         |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libsigc++1.0-devel-1.0.4   |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libxml2-2.4.16             |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libxml2-devel-2.4.16       |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libxslt1-1.0.12            |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libxslt1-devel-1.0.12      |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libsnmp0-4.2.3             |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libsnmp0-devel-4.2.3       |CD #3                                     |
   |---------------------------+------------------------------------------|
   |ucd-snmp-utils-4.2.3       |CD #1                                     |
   |---------------------------+------------------------------------------|
   |ucd-snmp-4.2.3             |CD #2                                     |
   |---------------------------+------------------------------------------|
   |libopenssl0-0.9.6c         |CD #1                                     |
   |---------------------------+------------------------------------------|
   |openssl-0.9.6c             |CD #1                                     |
   |---------------------------+------------------------------------------|
   |libopenssl0-devel-0.9.6c   |CD #2                                     |
   |---------------------------+------------------------------------------|
   |doc++-3.4.8-1              |http://docpp.sourceforge.net/download.html|
   +----------------------------------------------------------------------+

   We use SGML DocBook to generate HTML version of FAQ, so if you want to
   regenerate it, you would need openjade and docbook-utils packages as well.
   These are part of Mandrake Cooker, or you can find them on rpmfind.net.

Solaris 8:

   You need to install GNU development environment, in particular gcc version
   2.95.3 or newer, GNU ld which is part of binutils-2.11.2 , GNU make and
   libtool. These packages can be downloaded from http://www.sunfreeware.com

   Here is the list of recommended packages. Precompiled xml2 and xslt
   libraries for Solaris 8 can be downloaded from this site:
   http://garypennington.net/libxml2/ The rest can be found either on
   http://www.unixrealm.com/downloads/ or on http://www.sunfreeware.com

   +------------------------------------------------------------------------+
   | gcc-2.95.3        |                                                    |
   |-------------------+----------------------------------------------------|
   | binutils-2.11.2   | Needed for GNU ld                                  |
   |-------------------+----------------------------------------------------|
   | make-3.79.1       | GNU make                                           |
   |-------------------+----------------------------------------------------|
   | libtool-1.4       |                                                    |
   |-------------------+----------------------------------------------------|
   |                   |                                                    |
   |-------------------+----------------------------------------------------|
   | glib-1.2.10       |                                                    |
   |-------------------+----------------------------------------------------|
   | gtk+-1.2.10       |                                                    |
   |-------------------+----------------------------------------------------|
   | gtkmm-1.2.8       |                                                    |
   |-------------------+----------------------------------------------------|
   | gdk-pixbuf-0.13.0 | See comment for libpng below                       |
   |-------------------+----------------------------------------------------|
   |                   | Do not use any other version; pre-built gdk-pixbuf |
   | libpng-1.0.6      | v0.13 found on SunFreeware.com requires            |
   |                   | specifically libpng 1.0.6                          |
   |-------------------+----------------------------------------------------|
   | libsigc++-1.0.4   |                                                    |
   |-------------------+----------------------------------------------------|
   | libxml2-2.4.16    |                                                    |
   |-------------------+----------------------------------------------------|
   | libxslt-1.0.12    |                                                    |
   |-------------------+----------------------------------------------------|
   | openssl-0.9.6c    | Try openssl_noshared-0.9.6c package if configure   |
   |                   | does not find openssl even though it is installed  |
   |-------------------+----------------------------------------------------|
   | ucdsnmp-4.2.3     |                                                    |
   |-------------------+----------------------------------------------------|
   | doc++-3.4.2       |                                                    |
   +------------------------------------------------------------------------+

   Certain patches are also critical. Make sure you have at least patch
   109326 which replaces some header files and libraries we use. It is a good
   idea to install all latest recommended patches anyway.

   Since all the packages downloaded from SunFreeware or Unixworld install in
   /usr/local, you need to set environment variables PATH to begin with
   "/usr/local/bin" and LD_LIBRARY_PATH to include /usr/local/lib before you
   run script configure.

FreeBSD 4.5

   We did our testing on FreeBSD 4.5-STABLE, brought up to the latest patch
   level with cvsup. We use lots of ports, so ports were also updated with
   cvsup. Here is the list of ports that need to be installed before you can
   compile libfwbuilder and fwbuilder:

     * devel/autoconf
     * devel/automake
     * devel/libtool
     * devel/m4-1.4_1
     * devel/glib12
     * devel/gmake-3.79.1
     * devel/libsigc++
     * lang/glibstdc++28
     * x11-toolkits/gtk12
     * x11-toolkits/gtk--
     * graphics/gdk-pixbuf
     * security/openssl
     * net/net-snmp
     * net/bind9
     * textproc/libxml2
     * textproc/libxslt
     * devel/doc++

   Make sure you use gmake to build and set the following environment
   variables:

 export GLIB_CONFIG=/usr/local/bin/glib12-config
 export LD_LIBRARY_PATH=/usr/local/lib

GCC 3.0

   We do not recommend using gcc 3.0 at this time because libraries built
   with gcc 2.95 can not link with the program code compiled with gcc 3.0. If
   you decide to use gcc 3.0, then you either need to find somewhere
   libraries compiled with gcc 3.0, or compile and install everything
   yourself.
