West-chamber Installation instructions

1 Installation instructions for west-chamber

West-chamber borrows build system from xtables-addons.

Xtables-addons uses the well-known configure(autotools) infrastructure in combination with the kernel’s Kbuild system.

 $ ./configure
 $ make
 # make install

You have to run ./autogen.sh (requires automake) if configure script is not present. The configure script should be run with bash.

To install the UDPENCAP target, you need to enable it in mconfig. Warning: this module is highly experimental. Use with caution!

2 Supported configurations for this release

3 Selecting extensions

You can edit the “mconfig” file to select what modules to build and install. By default, all modules are enabled.

4 Configuring and compiling

./configure [options]

--with-kbuild=

Specifies the path to the kernel build output directory. We need it for building the kernel extensions. It defaults to /lib/modules/$(runningversion)/build, which usually points to the right directory. (If not, you need to install something.)

For RPM building, it should be /usr/src/linux-obj/... or whatever location the distro makes use of.

--with-xtlibdir=

Specifies the path to where the newly built extensions should be installed when make install is run. The default is to use the same path that Xtables/iptables modules use, as determined by pkg-config xtables --variable xtlibdir. Thus, this option normally does NOT need to be specified anymore, even if your distribution put modules in a strange location.

If you want to enable debugging, use

./configure CFLAGS="-ggdb3 -O0"

(-O0 is used to turn off instruction reordering, which makes debugging much easier.)

To make use of a libxtables that is not in the default path, either

  1. append the location of the pkg-config files like:

     PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
    

(assuming that files have been installed), or,

  1. override the pkg-config variables, for example:

     ./configure libxtables_CFLAGS="-I../iptables/include" \
                 libxtables_LIBS="-L../iptables/.libs \
                 -Wl,-rpath,../iptables/.libs -lxtables"
    

(Use this in case you wish to use it without having to run make install. This is because the libxtables.pc pkgconfig file in ../iptables would already point to e.g. /usr/local.)

5 Build-time options

V= controls the verbosity of make commands.
V=0 "silent" (output filename)
V=1 "verbose" (entire gcc command line)

6 Note to distribution packagers

Except for --with-kbuild, distributions should not have a need to supply any other flags (besides --prefix=/usr and perhaps --libdir=/usr/lib64, etc.) to configure when all prerequired packages are installed. If iptables-devel is installed, necessary headers should already be in /usr/include, so that overriding PKG_CONFIG_PATH, libxtables_CFLAGS and libxtables_LIBS variables should not be needed.