~henrik-ziegeldorf/hipl/pisa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
How to get HIPL
===============

The latest version of HIPL is always available through Bazaar (version 1.6 or
later required) and is hosted on Launchpad now. Run the command

  bzr checkout lp:hipl

to get a checkout of the source tree.

This will provide you with an anonymous checkout, unless you are a developer
registered with the hipl-core project on Launchpad and used the command
"bzr launchpad-login" beforehand to let Bazaar know your Launchpad user name.


HIPL dependencies
=================

HIPL places certain requirements on your kernel. Starting from Linux kernel
version 2.6.27, no changes are necessary. If you run an older version, look
at the patches/kernel directory to find patches for your Linux kernel version.
Alternatively, you can use userspace ipsec as provided by hipfw. If you want
to use the optional native programming interface, you need to patch your kernel
anyway.

In order to compile HIPL you need autotools (autoconf, automake, libtool), GNU
Make and gcc. openssl, iptables and libconfig are required complete with
development headers. For Perl Net::IP and Net::DNS modules are required.
You can optionally install xmlto to
build the HOWTO and doxygen to build the code documentation. Installing the
optional check library (http://check.sourceforge.net/) enables unit tests.
Some additional libraries are needed for building binary packages (fakeroot
and dpkg-dev on ubuntu).

On Ubuntu, the following command(s) should solve the dependencies:

  aptitude install autoconf automake libtool make gcc libssl-dev \
    iptables-dev libconfig8-dev libnet-ip-perl libnet-dns-perl

  Optionally: aptitude install miredo bzr xmlto doxygen check fakeroot dpkg-dev

On Fedora, the following command(s) should solve the dependencies:

  yum install autoconf automake libtool make gcc openssl-devel \
              iptables-devel libconfig-devel perl-Net-IP perl-Net-DNS

  Optionally: yum install miredo bzr xmlto doxygen check-devel rpm-build


How to build HIPL
=================

If you are working with a Bazaar checkout, you will have to bootstrap the
autotools build system with

  autoreconf --install

before running configure. On subsequent times, you don't have give the
install option.

From the trunk directory in the HIPL sources, run the following command to
build HIPL:

  ./configure && make

./configure --help will display the multitude of configuration options
available for HIPL.

To keep the developers sharp and honest HIPL is built with -Werror in CFLAGS.
gcc will just error out when issuing a warning. If you experience compilation
failures and just need to get HIPL to build on a combination of platform and
compiler that does produce warnings, you can override -Werror as follows:

  CFLAGS=-Wno-error ./configure

Then run make as usual.

Please note that the HIP configuration files are located in
/usr/local/etc/hip with the default configure flags. If you want to
change the location to /etc/hip, you have to pass --sysconfdir=/etc to
configure (or create a symbolic link).